@sumaris-net/ngx-components 1.16.3 → 1.17.1-rc2

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, TemplateRef, ViewContainerRef, HostBinding, HostListener, ViewChildren, 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, HostBinding, HostListener, ViewChildren, 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, from, of, noop as noop$9, Observable, defer, forkJoin, 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
- import { IonicModule, Platform, IonRouterOutlet, ModalController, IonicSafeString, createAnimation, ToastController, PopoverController, AlertController, IonicRouteStrategy, NavParams, MenuController, IonContent, IonInfiniteScroll } from '@ionic/angular';
37
+ import { IonicModule, Platform, IonRouterOutlet, ModalController, PopoverController, IonicSafeString, createAnimation, ToastController, AlertController, IonicRouteStrategy, NavParams, MenuController, IonContent, IonInfiniteScroll } 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 * as momentTZImported from 'moment-timezone';
50
42
  import { Keyboard } from '@ionic-native/keyboard/ngx';
@@ -55,38 +47,32 @@ import { trigger, state, style, transition, animate } from '@angular/animations'
55
47
  import { MatDividerModule } from '@angular/material/divider';
56
48
  import { MatTooltipModule } from '@angular/material/tooltip';
57
49
  import { MatChipsModule } from '@angular/material/chips';
58
- import * as i3$3 from '@angular/router';
59
50
  import { Router, ActivatedRoute, RouterModule, RouteReuseStrategy } from '@angular/router';
60
- import * as i1$5 from '@angular/platform-browser';
61
51
  import { HammerGestureConfig, EventManager } from '@angular/platform-browser';
62
- import * as i2$2 from '@angular/common/http';
63
52
  import { HttpResponse, HttpClient, HttpHeaders, HttpEventType, HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
64
53
  import { ColorPickerModule } from 'ngx-color-picker';
65
- import { NativeAudio } from '@ionic-native/native-audio/ngx';
66
- import { Vibration } from '@ionic-native/vibration/ngx';
54
+ import { NativeAudio as NativeAudio$1 } from '@ionic-native/native-audio/ngx';
55
+ import { Vibration as Vibration$1 } from '@ionic-native/vibration/ngx';
67
56
  import { AudioManagement } from '@ionic-native/audio-management/ngx';
68
- import * as i2 from '@ionic-native/native-audio/ngx/index';
69
- import * as i3 from '@ionic-native/vibration/ngx/index';
70
- import * as i4 from '@ionic-native/audio-management/ngx/index';
57
+ import { NativeAudio } from '@ionic-native/native-audio/ngx/index';
58
+ import { Vibration } from '@ionic-native/vibration/ngx/index';
59
+ import { AudioManagement as AudioManagement$1 } from '@ionic-native/audio-management/ngx/index';
71
60
  import * as uuidv4Imported from 'uuid/v4';
72
61
  import { DragDropModule } from '@angular/cdk/drag-drop';
73
62
  import { MarkdownModule } from 'ngx-markdown';
74
63
  import { sign, box, hash, verify } from 'tweetnacl';
75
- import * as i3$1 from '@ionic/storage';
76
64
  import { Storage, IonicStorageModule } from '@ionic/storage';
77
65
  import 'zone.js/dist/zone-error';
78
- import { SplashScreen } from '@ionic-native/splash-screen/ngx';
79
- import { Connection, Network } from '@ionic-native/network/ngx';
80
- import { CacheService, CacheModule } from 'ionic-cache';
81
- import * as i6 from 'ionic-cache/dist/cache.service';
82
- import * as i9 from '@ionic-native/network/ngx/index';
83
- import * as i10 from '@ionic-native/splash-screen/ngx/index';
84
- import { StatusBar } from '@ionic-native/status-bar/ngx';
85
- import * as i2$4 from '@angular/cdk/platform';
66
+ import { SplashScreen as SplashScreen$1 } from '@ionic-native/splash-screen/ngx';
67
+ import { Connection, Network as Network$1 } from '@ionic-native/network/ngx';
68
+ import { CacheService as CacheService$1, CacheModule } from 'ionic-cache';
69
+ import { CacheService } from 'ionic-cache/dist/cache.service';
70
+ import { Network } from '@ionic-native/network/ngx/index';
71
+ import { SplashScreen } from '@ionic-native/splash-screen/ngx/index';
72
+ import { StatusBar as StatusBar$1 } from '@ionic-native/status-bar/ngx';
86
73
  import { Platform as Platform$1 } from '@angular/cdk/platform';
87
- import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
74
+ import { InAppBrowser as InAppBrowser$1 } from '@ionic-native/in-app-browser/ngx';
88
75
  import { ApolloLink, NetworkStatus, InMemoryCache, ApolloClient, gql } from '@apollo/client/core';
89
- import * as i2$3 from 'apollo-angular';
90
76
  import { Apollo } from 'apollo-angular';
91
77
  import { WebSocketLink } from '@apollo/client/link/ws';
92
78
  import { getMainDefinition } from '@apollo/client/utilities';
@@ -94,14 +80,13 @@ import { RetryLink } from '@apollo/client/link/retry';
94
80
  import QueueLink from 'apollo-link-queue';
95
81
  import SerializingLink from 'apollo-link-serialize';
96
82
  import loggerLink from 'apollo-link-logger';
97
- import * as i3$2 from 'apollo-angular/http';
98
83
  import { HttpLink } from 'apollo-angular/http';
99
84
  import { IonicStorageWrapper, persistCache } from 'apollo3-cache-persist';
100
- import { NotificationVisibility, Downloader } from '@ionic-native/downloader/ngx';
101
- import * as i14 from '@ionic-native/status-bar/ngx/index';
102
- import * as i15 from '@ionic-native/keyboard/ngx/index';
103
- import * as i17 from '@ionic-native/in-app-browser/ngx/index';
104
- import * as i18 from '@ionic-native/downloader/ngx/index';
85
+ import { NotificationVisibility, Downloader as Downloader$1 } from '@ionic-native/downloader/ngx';
86
+ import { StatusBar } from '@ionic-native/status-bar/ngx/index';
87
+ import { Keyboard as Keyboard$1 } from '@ionic-native/keyboard/ngx/index';
88
+ import { InAppBrowser } from '@ionic-native/in-app-browser/ngx/index';
89
+ import { Downloader } from '@ionic-native/downloader/ngx/index';
105
90
  import { CdkTextareaAutosize } from '@angular/cdk/text-field';
106
91
  import { ValidatorService, TableDataSource } from '@e-is/ngx-material-table';
107
92
  import { SelectionModel } from '@angular/cdk/collections';
@@ -994,14 +979,14 @@ class MatAutocompleteConfigHolder {
994
979
  return this.fields[fieldName] || this.add(fieldName);
995
980
  }
996
981
  }
997
- const noop$8 = (_) => { };
998
- const ɵ0$c = noop$8;
982
+ const noop = (_) => { };
983
+ const ɵ0 = noop;
999
984
  class MatAutocompleteField {
1000
985
  constructor(cd, formGroupDir) {
1001
986
  this.cd = cd;
1002
987
  this.formGroupDir = formGroupDir;
1003
- this._onChangeCallback = noop$8;
1004
- this._onTouchedCallback = noop$8;
988
+ this._onChangeCallback = noop;
989
+ this._onTouchedCallback = noop;
1005
990
  this.logPrefix = '[mat-autocomplete] ';
1006
991
  this.formControlName = null;
1007
992
  this.required = false;
@@ -1721,7 +1706,7 @@ class DateFormatPipe {
1721
1706
  return this.dateAdapter.format(date, displayFormat);
1722
1707
  }
1723
1708
  }
1724
- DateFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(i0.ɵɵinject(i1.MomentDateAdapter), i0.ɵɵinject(i1$1.TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
1709
+ DateFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(ɵɵinject(MomentDateAdapter), ɵɵinject(TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
1725
1710
  DateFormatPipe.decorators = [
1726
1711
  { type: Pipe, args: [{
1727
1712
  name: 'dateFormat'
@@ -1733,7 +1718,7 @@ DateFormatPipe.ctorParameters = () => [
1733
1718
  { type: TranslateService }
1734
1719
  ];
1735
1720
 
1736
- const moment$7 = momentImported;
1721
+ const moment = momentImported;
1737
1722
  class DateDiffDurationPipe {
1738
1723
  constructor(dateAdapter, translate) {
1739
1724
  this.dateAdapter = dateAdapter;
@@ -1749,17 +1734,17 @@ class DateDiffDurationPipe {
1749
1734
  return this.format(startDate, endDate);
1750
1735
  }
1751
1736
  format(startDate, endDate) {
1752
- const duration = moment$7.duration(endDate.diff(startDate));
1737
+ const duration = moment.duration(endDate.diff(startDate));
1753
1738
  if (duration.asMinutes() < 0)
1754
1739
  return '';
1755
- const timeDuration = moment$7(0)
1740
+ const timeDuration = moment(0)
1756
1741
  .hour(duration.hours())
1757
1742
  .minute(duration.minutes());
1758
1743
  const days = Math.floor(duration.asDays());
1759
1744
  return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + timeDuration.format('HH:mm');
1760
1745
  }
1761
1746
  }
1762
- 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" });
1747
+ DateDiffDurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateDiffDurationPipe_Factory() { return new DateDiffDurationPipe(ɵɵinject(DateAdapter), ɵɵinject(TranslateService)); }, token: DateDiffDurationPipe, providedIn: "root" });
1763
1748
  DateDiffDurationPipe.decorators = [
1764
1749
  { type: Pipe, args: [{
1765
1750
  name: 'dateDiffDuration'
@@ -1780,7 +1765,7 @@ class DateFromNowPipe {
1780
1765
  return date ? date.fromNow(args && args.withoutSuffix) : '';
1781
1766
  }
1782
1767
  }
1783
- DateFromNowPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(i0.ɵɵinject(i1.MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
1768
+ DateFromNowPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(ɵɵinject(MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
1784
1769
  DateFromNowPipe.decorators = [
1785
1770
  { type: Pipe, args: [{
1786
1771
  name: 'dateFromNow'
@@ -1849,7 +1834,7 @@ function formatToDD(value, opts) {
1849
1834
  value *= -1;
1850
1835
  }
1851
1836
  }
1852
- let degrees = roundFloat$1(value, opts.maxDecimals).toString();
1837
+ let degrees = roundFloat(value, opts.maxDecimals).toString();
1853
1838
  // Add sign
1854
1839
  let sign = negative ? '-' : '+';
1855
1840
  if (opts.placeholderChar) {
@@ -1900,7 +1885,7 @@ function formatToDDMMSS(value, opts) {
1900
1885
  }
1901
1886
  let degrees = Math.trunc(value);
1902
1887
  let minutes = Math.trunc((value - degrees) * 60);
1903
- let seconds = roundFloat$1(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
1888
+ let seconds = roundFloat(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
1904
1889
  while (seconds >= 60) {
1905
1890
  seconds -= 60;
1906
1891
  minutes += 1;
@@ -1968,7 +1953,7 @@ function formatToDDMM(value, opts) {
1968
1953
  }
1969
1954
  }
1970
1955
  let degrees = Math.trunc(value);
1971
- let minutes = roundFloat$1((value - degrees) * 60, opts.maxDecimals);
1956
+ let minutes = roundFloat((value - degrees) * 60, opts.maxDecimals);
1972
1957
  while (minutes >= 60) {
1973
1958
  minutes -= 60;
1974
1959
  degrees += 1;
@@ -2019,15 +2004,15 @@ function parseLatitudeOrLongitude(input, pattern, maxDecimals, placeholderChar)
2019
2004
  return NaN;
2020
2005
  }
2021
2006
  if (pattern === 'DD')
2022
- return roundFloat$1(degrees, maxDecimals);
2007
+ return roundFloat(degrees, maxDecimals);
2023
2008
  const minutes = (pattern === 'DDMMSS' || pattern === 'DDMM') && parts[1] && parseFloat(parts[1].replace(/,/g, '.')) || 0;
2024
2009
  const seconds = (pattern === 'DDMMSS') && parts[2] && parseFloat(parts[2].replace(/,/g, '.')) || 0;
2025
2010
  const direction = ((pattern === 'DDMMSS') && parts[3]) || ((pattern === 'DDMM') && parts[2]) || undefined;
2026
2011
  const sign = (direction && (direction === 's' || direction === 'S' || direction === 'w' || direction === 'W')) ? -1 : 1;
2027
2012
  degrees = sign * (degrees + minutes / 60 + seconds / (60 * 60));
2028
- return roundFloat$1(degrees, maxDecimals);
2013
+ return roundFloat(degrees, maxDecimals);
2029
2014
  }
2030
- function roundFloat$1(input, maxDecimals) {
2015
+ function roundFloat(input, maxDecimals) {
2031
2016
  if (maxDecimals > 0) {
2032
2017
  const powDecimal = Math.pow(10, maxDecimals);
2033
2018
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -2047,7 +2032,7 @@ class LatLongFormatPipe {
2047
2032
  return ((!args.type || args.type !== 'latitude') ? formatLongitude : formatLatitude)(value, args);
2048
2033
  }
2049
2034
  }
2050
- LatLongFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
2035
+ LatLongFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
2051
2036
  LatLongFormatPipe.decorators = [
2052
2037
  { type: Pipe, args: [{
2053
2038
  name: 'latLongFormat'
@@ -2059,7 +2044,7 @@ class LatitudeFormatPipe {
2059
2044
  this.transform = formatLatitude;
2060
2045
  }
2061
2046
  }
2062
- LatitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
2047
+ LatitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
2063
2048
  LatitudeFormatPipe.decorators = [
2064
2049
  { type: Pipe, args: [{
2065
2050
  name: 'latitudeFormat'
@@ -2071,7 +2056,7 @@ class LongitudeFormatPipe {
2071
2056
  this.transform = formatLongitude;
2072
2057
  }
2073
2058
  }
2074
- LongitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
2059
+ LongitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
2075
2060
  LongitudeFormatPipe.decorators = [
2076
2061
  { type: Pipe, args: [{
2077
2062
  name: 'longitudeFormat'
@@ -2091,7 +2076,7 @@ class NumberFormatPipe {
2091
2076
  }
2092
2077
  }
2093
2078
  }
2094
- NumberFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
2079
+ NumberFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
2095
2080
  NumberFormatPipe.decorators = [
2096
2081
  { type: Pipe, args: [{
2097
2082
  name: 'numberFormat'
@@ -2131,7 +2116,7 @@ class HighlightPipe {
2131
2116
  }
2132
2117
  }
2133
2118
  }
2134
- HighlightPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
2119
+ HighlightPipe.ɵprov = ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
2135
2120
  HighlightPipe.decorators = [
2136
2121
  { type: Pipe, args: [{
2137
2122
  name: 'highlight'
@@ -2196,7 +2181,7 @@ FileSizePipe.decorators = [
2196
2181
  { type: Pipe, args: [{ name: 'fileSize' },] }
2197
2182
  ];
2198
2183
 
2199
- const moment$6 = momentImported;
2184
+ const moment$1 = momentImported;
2200
2185
  const tz = momentTZImported;
2201
2186
  const DATE_UNIX_TIMESTAMP = 'X';
2202
2187
  const DATE_UNIX_MS_TIMESTAMP = 'x';
@@ -2273,32 +2258,32 @@ function fromDateISOString(value) {
2273
2258
  if (!value || isMoment(value))
2274
2259
  return value;
2275
2260
  // Parse the input value, as a ISO date time
2276
- const date = moment$6(value, DATE_ISO_PATTERN);
2261
+ const date = moment$1(value, DATE_ISO_PATTERN);
2277
2262
  if (date.isValid())
2278
2263
  return date;
2279
2264
  // Not valid: trying to convert from unix timestamp
2280
2265
  if (typeof value === 'string') {
2281
2266
  console.warn('Wrong date format - Trying to convert from local time: ' + value);
2282
2267
  if (value.length === 10) {
2283
- return moment$6(value, DATE_UNIX_TIMESTAMP);
2268
+ return moment$1(value, DATE_UNIX_TIMESTAMP);
2284
2269
  }
2285
2270
  else if (value.length === 13) {
2286
- return moment$6(value, DATE_UNIX_MS_TIMESTAMP);
2271
+ return moment$1(value, DATE_UNIX_MS_TIMESTAMP);
2287
2272
  }
2288
2273
  }
2289
2274
  console.warn('Unable to parse date: ' + value);
2290
2275
  return undefined;
2291
2276
  }
2292
2277
  function fromUnixTimestamp(timeInSec) {
2293
- return moment$6(timeInSec, DATE_UNIX_TIMESTAMP);
2278
+ return moment$1(timeInSec, DATE_UNIX_TIMESTAMP);
2294
2279
  }
2295
2280
  function fromUnixMsTimestamp(timeInMs) {
2296
- return moment$6(timeInMs, DATE_UNIX_MS_TIMESTAMP);
2281
+ return moment$1(timeInMs, DATE_UNIX_MS_TIMESTAMP);
2297
2282
  }
2298
2283
  function toDuration(value, unit) {
2299
2284
  if (!value)
2300
2285
  return undefined;
2301
- const duration = moment$6.duration(value, unit);
2286
+ const duration = moment$1.duration(value, unit);
2302
2287
  // fix 990+ ms
2303
2288
  if (duration.milliseconds() >= 990) {
2304
2289
  duration.add(1000 - duration.milliseconds(), 'ms');
@@ -2327,7 +2312,7 @@ class DurationPipe {
2327
2312
  return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + hour + ':' + minute;
2328
2313
  }
2329
2314
  }
2330
- DurationPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(i0.ɵɵinject(i1$1.TranslateService)); }, token: DurationPipe, providedIn: "root" });
2315
+ DurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(ɵɵinject(TranslateService)); }, token: DurationPipe, providedIn: "root" });
2331
2316
  DurationPipe.decorators = [
2332
2317
  { type: Pipe, args: [{
2333
2318
  name: 'duration'
@@ -2348,7 +2333,7 @@ class MathAbsPipe {
2348
2333
  }
2349
2334
  }
2350
2335
  }
2351
- MathAbsPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
2336
+ MathAbsPipe.ɵprov = ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
2352
2337
  MathAbsPipe.decorators = [
2353
2338
  { type: Pipe, args: [{
2354
2339
  name: 'mathAbs'
@@ -2360,7 +2345,7 @@ class EvenPipe {
2360
2345
  return val % 2 === 0;
2361
2346
  }
2362
2347
  }
2363
- EvenPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
2348
+ EvenPipe.ɵprov = ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
2364
2349
  EvenPipe.decorators = [
2365
2350
  { type: Pipe, args: [{
2366
2351
  name: 'even'
@@ -2372,7 +2357,7 @@ class OddPipe {
2372
2357
  return val % 2 !== 0;
2373
2358
  }
2374
2359
  }
2375
- OddPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
2360
+ OddPipe.ɵprov = ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
2376
2361
  OddPipe.decorators = [
2377
2362
  { type: Pipe, args: [{
2378
2363
  name: 'odd'
@@ -2480,7 +2465,7 @@ class MapGetPipe {
2480
2465
  return val[key];
2481
2466
  }
2482
2467
  }
2483
- MapGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
2468
+ MapGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
2484
2469
  MapGetPipe.decorators = [
2485
2470
  { type: Pipe, args: [{
2486
2471
  name: 'mapGet'
@@ -2494,7 +2479,7 @@ class MapKeysPipe {
2494
2479
  return Object.keys(map);
2495
2480
  }
2496
2481
  }
2497
- MapKeysPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
2482
+ MapKeysPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
2498
2483
  MapKeysPipe.decorators = [
2499
2484
  { type: Pipe, args: [{
2500
2485
  name: 'mapKeys'
@@ -2508,7 +2493,7 @@ class MapValuesPipe {
2508
2493
  return Object.values(map);
2509
2494
  }
2510
2495
  }
2511
- MapValuesPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
2496
+ MapValuesPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
2512
2497
  MapValuesPipe.decorators = [
2513
2498
  { type: Pipe, args: [{
2514
2499
  name: 'mapValues'
@@ -2521,7 +2506,7 @@ class IsNotNilOrBlankPipe {
2521
2506
  return isNotNilOrBlank(value);
2522
2507
  }
2523
2508
  }
2524
- IsNotNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
2509
+ IsNotNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
2525
2510
  IsNotNilOrBlankPipe.decorators = [
2526
2511
  { type: Pipe, args: [{
2527
2512
  name: 'isNotNilOrBlank'
@@ -2533,7 +2518,7 @@ class IsNilOrBlankPipe {
2533
2518
  return isNilOrBlank(value);
2534
2519
  }
2535
2520
  }
2536
- IsNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
2521
+ IsNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
2537
2522
  IsNilOrBlankPipe.decorators = [
2538
2523
  { type: Pipe, args: [{
2539
2524
  name: 'isNilOrBlank'
@@ -2545,7 +2530,7 @@ class ToStringPipe {
2545
2530
  return (value !== null && value !== undefined) ? value.toString() : '';
2546
2531
  }
2547
2532
  }
2548
- ToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
2533
+ ToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
2549
2534
  ToStringPipe.decorators = [
2550
2535
  { type: Pipe, args: [{
2551
2536
  name: 'toString'
@@ -2557,7 +2542,7 @@ class StrLengthPipe {
2557
2542
  return value && value.length || 0;
2558
2543
  }
2559
2544
  }
2560
- StrLengthPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
2545
+ StrLengthPipe.ɵprov = ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
2561
2546
  StrLengthPipe.decorators = [
2562
2547
  { type: Pipe, args: [{
2563
2548
  name: 'strLength'
@@ -2569,7 +2554,7 @@ class StrIncludesPipe {
2569
2554
  return (value === null || value === void 0 ? void 0 : value.includes(searchString, position)) || false;
2570
2555
  }
2571
2556
  }
2572
- StrIncludesPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function StrIncludesPipe_Factory() { return new StrIncludesPipe(); }, token: StrIncludesPipe, providedIn: "root" });
2557
+ StrIncludesPipe.ɵprov = ɵɵdefineInjectable({ factory: function StrIncludesPipe_Factory() { return new StrIncludesPipe(); }, token: StrIncludesPipe, providedIn: "root" });
2573
2558
  StrIncludesPipe.decorators = [
2574
2559
  { type: Pipe, args: [{
2575
2560
  name: 'strIncludes'
@@ -2646,7 +2631,7 @@ class TranslateContextService {
2646
2631
  return translations[keys[keys.length - 1]]; // Return the last keys translation
2647
2632
  }
2648
2633
  }
2649
- TranslateContextService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(i0.ɵɵinject(i1$1.TranslateService)); }, token: TranslateContextService, providedIn: "root" });
2634
+ TranslateContextService.ɵprov = ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(ɵɵinject(TranslateService)); }, token: TranslateContextService, providedIn: "root" });
2650
2635
  TranslateContextService.decorators = [
2651
2636
  { type: Injectable, args: [{ providedIn: 'root' },] }
2652
2637
  ];
@@ -2696,7 +2681,7 @@ class PropertyGetPipe {
2696
2681
  args && args.defaultValue);
2697
2682
  }
2698
2683
  }
2699
- PropertyGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
2684
+ PropertyGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
2700
2685
  PropertyGetPipe.decorators = [
2701
2686
  { type: Pipe, args: [{
2702
2687
  name: 'propertyGet'
@@ -2721,7 +2706,7 @@ NgInitDirective.propDecorators = {
2721
2706
  ngInit: [{ type: Output }]
2722
2707
  };
2723
2708
 
2724
- const moment$5 = momentImported;
2709
+ const moment$2 = momentImported;
2725
2710
  // @dynamic
2726
2711
  class SharedValidators {
2727
2712
  static getDoubleRegexp(maxDecimals) {
@@ -2802,7 +2787,7 @@ class SharedValidators {
2802
2787
  }
2803
2788
  static validDate(control) {
2804
2789
  const value = control.value;
2805
- const date = !value || moment$5.isMoment(value) ? value : moment$5(control.value, DATE_ISO_PATTERN);
2790
+ const date = !value || moment$2.isMoment(value) ? value : moment$2(control.value, DATE_ISO_PATTERN);
2806
2791
  if (date && (!date.isValid() || date.year() < 1970)) {
2807
2792
  return { validDate: true };
2808
2793
  }
@@ -3914,7 +3899,7 @@ class FormErrorTranslator {
3914
3899
  return errorKey;
3915
3900
  }
3916
3901
  }
3917
- 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" });
3902
+ FormErrorTranslator.ɵprov = ɵɵdefineInjectable({ factory: function FormErrorTranslator_Factory() { return new FormErrorTranslator(ɵɵinject(TranslateService), ɵɵinject(APP_FORM_ERROR_I18N_KEYS, 8)); }, token: FormErrorTranslator, providedIn: "root" });
3918
3903
  FormErrorTranslator.decorators = [
3919
3904
  { type: Injectable, args: [{ providedIn: 'root' },] }
3920
3905
  ];
@@ -3994,7 +3979,7 @@ class FormGetPipe {
3994
3979
  return form.get(path);
3995
3980
  }
3996
3981
  }
3997
- FormGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function FormGetPipe_Factory() { return new FormGetPipe(); }, token: FormGetPipe, providedIn: "root" });
3982
+ FormGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function FormGetPipe_Factory() { return new FormGetPipe(); }, token: FormGetPipe, providedIn: "root" });
3998
3983
  FormGetPipe.decorators = [
3999
3984
  { type: Pipe, args: [{
4000
3985
  name: 'formGet'
@@ -4006,7 +3991,7 @@ class FormGetControlPipe {
4006
3991
  return form.get(path);
4007
3992
  }
4008
3993
  }
4009
- FormGetControlPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function FormGetControlPipe_Factory() { return new FormGetControlPipe(); }, token: FormGetControlPipe, providedIn: "root" });
3994
+ FormGetControlPipe.ɵprov = ɵɵdefineInjectable({ factory: function FormGetControlPipe_Factory() { return new FormGetControlPipe(); }, token: FormGetControlPipe, providedIn: "root" });
4010
3995
  FormGetControlPipe.decorators = [
4011
3996
  { type: Pipe, args: [{
4012
3997
  name: 'formGetControl'
@@ -4018,7 +4003,7 @@ class FormGetArrayPipe {
4018
4003
  return form.get(path);
4019
4004
  }
4020
4005
  }
4021
- FormGetArrayPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function FormGetArrayPipe_Factory() { return new FormGetArrayPipe(); }, token: FormGetArrayPipe, providedIn: "root" });
4006
+ FormGetArrayPipe.ɵprov = ɵɵdefineInjectable({ factory: function FormGetArrayPipe_Factory() { return new FormGetArrayPipe(); }, token: FormGetArrayPipe, providedIn: "root" });
4022
4007
  FormGetArrayPipe.decorators = [
4023
4008
  { type: Pipe, args: [{
4024
4009
  name: 'formGetArray'
@@ -4030,7 +4015,7 @@ class FormGetGroupPipe {
4030
4015
  return form.get(path);
4031
4016
  }
4032
4017
  }
4033
- FormGetGroupPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function FormGetGroupPipe_Factory() { return new FormGetGroupPipe(); }, token: FormGetGroupPipe, providedIn: "root" });
4018
+ FormGetGroupPipe.ɵprov = ɵɵdefineInjectable({ factory: function FormGetGroupPipe_Factory() { return new FormGetGroupPipe(); }, token: FormGetGroupPipe, providedIn: "root" });
4034
4019
  FormGetGroupPipe.decorators = [
4035
4020
  { type: Pipe, args: [{
4036
4021
  name: 'formGetGroup'
@@ -4150,7 +4135,7 @@ const isIpad = (win) => {
4150
4135
  }
4151
4136
  return false;
4152
4137
  };
4153
- const ɵ0$b = isIpad;
4138
+ const ɵ0$1 = isIpad;
4154
4139
  const isIOS = (win) => testUserAgent(win, /iPhone|iPod/i) || isIpad(win);
4155
4140
  const isAndroid = (win) => testUserAgent(win, /android|sink/i);
4156
4141
  const isCordova = (win) => !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);
@@ -4385,9 +4370,9 @@ function parseDuration(input, maxDecimals, placeholderChar) {
4385
4370
  const hour = parseInt(durationParts[0] || '0');
4386
4371
  const minute = parseInt(durationParts[1] || '0');
4387
4372
  const value = hour + (minute + 0.5) / 60;
4388
- return roundFloat(value, maxDecimals);
4373
+ return roundFloat$1(value, maxDecimals);
4389
4374
  }
4390
- function roundFloat(input, maxDecimals) {
4375
+ function roundFloat$1(input, maxDecimals) {
4391
4376
  if (maxDecimals > 0) {
4392
4377
  const powDecimal = Math.pow(10, maxDecimals);
4393
4378
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -4411,9 +4396,9 @@ const MASKS = {
4411
4396
  DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
4412
4397
  }
4413
4398
  };
4414
- const noop$7 = () => {
4399
+ const noop$1 = () => {
4415
4400
  };
4416
- const ɵ0$a = noop$7;
4401
+ const ɵ0$2 = noop$1;
4417
4402
  class MatLatLongField {
4418
4403
  constructor(platform, translate, formBuilder, cd, formGroupDir) {
4419
4404
  this.platform = platform;
@@ -4421,8 +4406,8 @@ class MatLatLongField {
4421
4406
  this.formBuilder = formBuilder;
4422
4407
  this.cd = cd;
4423
4408
  this.formGroupDir = formGroupDir;
4424
- this._onChangeCallback = noop$7;
4425
- this._onTouchedCallback = noop$7;
4409
+ this._onChangeCallback = noop$1;
4410
+ this._onTouchedCallback = noop$1;
4426
4411
  this._subscription = new Subscription();
4427
4412
  this.disabling = false;
4428
4413
  this.writing = false;
@@ -4759,14 +4744,14 @@ SharedMatLatLongModule.decorators = [
4759
4744
  },] }
4760
4745
  ];
4761
4746
 
4762
- const DEFAULT_VALUE_ACCESSOR$5 = {
4747
+ const DEFAULT_VALUE_ACCESSOR = {
4763
4748
  provide: NG_VALUE_ACCESSOR,
4764
4749
  useExisting: forwardRef(() => MatDate),
4765
4750
  multi: true
4766
4751
  };
4767
- const DAY_MASK$2 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4768
- const noop$6 = () => { };
4769
- const ɵ0$9 = noop$6;
4752
+ const DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4753
+ const noop$2 = () => { };
4754
+ const ɵ0$3 = noop$2;
4770
4755
  class MatDate {
4771
4756
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
4772
4757
  this.platform = platform;
@@ -4776,13 +4761,13 @@ class MatDate {
4776
4761
  this.cd = cd;
4777
4762
  this.keyboard = keyboard;
4778
4763
  this.formGroupDir = formGroupDir;
4779
- this._onChangeCallback = noop$6;
4780
- this._onTouchedCallback = noop$6;
4764
+ this._onChangeCallback = noop$2;
4765
+ this._onTouchedCallback = noop$2;
4781
4766
  this._subscription = new Subscription();
4782
4767
  this._writing = true;
4783
4768
  this._disabling = false;
4784
4769
  this._readonly = false;
4785
- this.dayMask = DAY_MASK$2;
4770
+ this.dayMask = DAY_MASK;
4786
4771
  this.floatLabel = 'auto';
4787
4772
  this.compact = false;
4788
4773
  this.placeholderChar = DEFAULT_PLACEHOLDER_CHAR;
@@ -5069,7 +5054,7 @@ MatDate.decorators = [
5069
5054
  selector: 'mat-date-field',
5070
5055
  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 -->\n<ng-template #writable>\n <mat-form-field [floatLabel]=\"floatLabel\">\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]=\"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 input -->\n <input matInput type=\"text\" [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n [matDatepickerFilter]=\"datePickerFilter\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button type=\"button\" mat-icon-button tabindex=\"-1\" matSuffix\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)=\"clear()\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <!-- errors -->\n <mat-error *ngIf=\"formControl.touched && formControl.errors|mapKeys|arrayFirst; let errorKey\">\n <ng-container [ngSwitch]=\"errorKey\">\n <span *ngSwitchCase=\"'required'\" translate>ERROR.FIELD_REQUIRED</span>\n <span *ngSwitchCase=\"'validDate'\" translate>ERROR.FIELD_NOT_VALID_DATE_TIME</span>\n <span *ngSwitchCase=\"'dateIsAfter'\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</span>\n <span *ngSwitchCase=\"'dateIsBefore'\">{{'ERROR.FIELD_NOT_VALID_DATE_BEFORE' | translate: formControl.errors.dateIsBefore }}</span>\n <span *ngSwitchCase=\"'dateRange'\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</span>\n <span *ngSwitchCase=\"'dateMaxDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</span>\n <span *ngSwitchCase=\"'dateMinDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</span>\n <span *ngSwitchCase=\"'msg'\">{{(formControl.errors.msg?.key || formControl.errors.msg) | translate: formControl.errors.msg?.params}}</span>\n </ng-container>\n </mat-error>\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 </mat-form-field>\n\n <mat-datepicker #datePicker\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n [startAt]=\"startDate\"\n ></mat-datepicker>\n\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",
5071
5056
  providers: [
5072
- DEFAULT_VALUE_ACCESSOR$5,
5057
+ DEFAULT_VALUE_ACCESSOR,
5073
5058
  ],
5074
5059
  changeDetection: ChangeDetectionStrategy.OnPush,
5075
5060
  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%}"]
@@ -5104,16 +5089,16 @@ MatDate.propDecorators = {
5104
5089
  matInputs: [{ type: ViewChildren, args: ['matInput',] }]
5105
5090
  };
5106
5091
 
5107
- const DEFAULT_VALUE_ACCESSOR$4 = {
5092
+ const DEFAULT_VALUE_ACCESSOR$1 = {
5108
5093
  provide: NG_VALUE_ACCESSOR,
5109
5094
  useExisting: forwardRef(() => MatDateTime),
5110
5095
  multi: true
5111
5096
  };
5112
5097
  const DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
5113
5098
  const HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
5114
- const HOUR_MASK$1 = [/[012]/, /\d/, ':', /[012345]/, /\d/];
5115
- const noop$5 = () => { };
5116
- const ɵ0$8 = noop$5;
5099
+ const HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
5100
+ const noop$3 = () => { };
5101
+ const ɵ0$4 = noop$3;
5117
5102
  class MatDateTime {
5118
5103
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
5119
5104
  this.platform = platform;
@@ -5123,14 +5108,14 @@ class MatDateTime {
5123
5108
  this.cd = cd;
5124
5109
  this.keyboard = keyboard;
5125
5110
  this.formGroupDir = formGroupDir;
5126
- this._onChangeCallback = noop$5;
5127
- this._onTouchedCallback = noop$5;
5111
+ this._onChangeCallback = noop$3;
5112
+ this._onTouchedCallback = noop$3;
5128
5113
  this._subscription = new Subscription();
5129
5114
  this._writing = true;
5130
5115
  this._disabling = false;
5131
5116
  this._readonly = false;
5132
5117
  this.dayMask = DAY_MASK$1;
5133
- this.hourMask = HOUR_MASK$1;
5118
+ this.hourMask = HOUR_MASK;
5134
5119
  this.floatLabel = 'auto';
5135
5120
  this.compact = false;
5136
5121
  this.placeholderChar = DEFAULT_PLACEHOLDER_CHAR;
@@ -5443,7 +5428,7 @@ MatDateTime.decorators = [
5443
5428
  selector: 'mat-date-time-field',
5444
5429
  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]=\"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 input -->\n <input matInput type=\"text\" [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n [matDatepickerFilter]=\"datePickerFilter\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button type=\"button\" mat-icon-button tabindex=\"-1\" matSuffix\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)=\"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=\"'dateIsBefore'\">{{'ERROR.FIELD_NOT_VALID_DATE_BEFORE' | translate: formControl.errors.dateIsBefore }}</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 && (hourControl.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]=\"hourControl\"\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]=\"hourControl\"\n (click)=\"openTimePickerIfMobile($event)\"\n readonly>\n\n <input matInput type=\"text\"\n [formControl]=\"hourControl\"\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",
5445
5430
  providers: [
5446
- DEFAULT_VALUE_ACCESSOR$4,
5431
+ DEFAULT_VALUE_ACCESSOR$1,
5447
5432
  ],
5448
5433
  changeDetection: ChangeDetectionStrategy.OnPush,
5449
5434
  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%}"]
@@ -5478,15 +5463,15 @@ MatDateTime.propDecorators = {
5478
5463
  matInputs: [{ type: ViewChildren, args: ['matInput',] }]
5479
5464
  };
5480
5465
 
5481
- const DEFAULT_VALUE_ACCESSOR$3 = {
5466
+ const DEFAULT_VALUE_ACCESSOR$2 = {
5482
5467
  provide: NG_VALUE_ACCESSOR,
5483
5468
  useExisting: forwardRef(() => MatDateShort),
5484
5469
  multi: true
5485
5470
  };
5486
- const DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
5471
+ const DAY_MASK$2 = [/\d/, /\d/, /\d/, /\d/];
5487
5472
  const noop$4 = () => {
5488
5473
  };
5489
- const ɵ0$7 = noop$4;
5474
+ const ɵ0$5 = noop$4;
5490
5475
  class MatDateShort {
5491
5476
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
5492
5477
  this.dateAdapter = dateAdapter;
@@ -5499,7 +5484,7 @@ class MatDateShort {
5499
5484
  this._onTouchedCallback = noop$4;
5500
5485
  this.writing = true;
5501
5486
  this.disabling = false;
5502
- this.dayMask = DAY_MASK;
5487
+ this.dayMask = DAY_MASK$2;
5503
5488
  this.disabled = false;
5504
5489
  this.floatLabel = 'auto';
5505
5490
  this.readonly = false;
@@ -5744,7 +5729,7 @@ MatDateShort.decorators = [
5744
5729
  selector: 'mat-date-short-field',
5745
5730
  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",
5746
5731
  providers: [
5747
- DEFAULT_VALUE_ACCESSOR$3,
5732
+ DEFAULT_VALUE_ACCESSOR$2,
5748
5733
  ],
5749
5734
  changeDetection: ChangeDetectionStrategy.OnPush,
5750
5735
  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%}"]
@@ -5812,16 +5797,16 @@ SharedMatDateTimeModule.decorators = [
5812
5797
  },] }
5813
5798
  ];
5814
5799
 
5815
- const DEFAULT_VALUE_ACCESSOR$2 = {
5800
+ const DEFAULT_VALUE_ACCESSOR$3 = {
5816
5801
  provide: NG_VALUE_ACCESSOR,
5817
5802
  useExisting: forwardRef(() => MatDuration),
5818
5803
  multi: true
5819
5804
  };
5820
5805
  const HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
5821
- const HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
5822
- const noop$3 = () => {
5806
+ const HOUR_MASK$1 = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
5807
+ const noop$5 = () => {
5823
5808
  };
5824
- const ɵ0$6 = noop$3;
5809
+ const ɵ0$6 = noop$5;
5825
5810
  class MatDuration {
5826
5811
  constructor(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
5827
5812
  this.dateAdapter = dateAdapter;
@@ -5830,11 +5815,11 @@ class MatDuration {
5830
5815
  this.cd = cd;
5831
5816
  this.formGroupDir = formGroupDir;
5832
5817
  this._subscription = new Subscription();
5833
- this._onChangeCallback = noop$3;
5834
- this._onTouchedCallback = noop$3;
5818
+ this._onChangeCallback = noop$5;
5819
+ this._onTouchedCallback = noop$5;
5835
5820
  this.writing = true;
5836
5821
  this.disabling = false;
5837
- this.hourMask = HOUR_MASK;
5822
+ this.hourMask = HOUR_MASK$1;
5838
5823
  this.disabled = false;
5839
5824
  this.floatLabel = 'auto';
5840
5825
  this.readonly = false;
@@ -6014,7 +5999,7 @@ MatDuration.decorators = [
6014
5999
  selector: 'mat-duration-field',
6015
6000
  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",
6016
6001
  providers: [
6017
- DEFAULT_VALUE_ACCESSOR$2,
6002
+ DEFAULT_VALUE_ACCESSOR$3,
6018
6003
  ],
6019
6004
  changeDetection: ChangeDetectionStrategy.OnPush,
6020
6005
  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%}"]
@@ -6071,22 +6056,22 @@ SharedMatDurationModule.decorators = [
6071
6056
  },] }
6072
6057
  ];
6073
6058
 
6074
- const DEFAULT_VALUE_ACCESSOR$1 = {
6059
+ const DEFAULT_VALUE_ACCESSOR$4 = {
6075
6060
  provide: NG_VALUE_ACCESSOR,
6076
6061
  useExisting: forwardRef(() => MatBooleanField),
6077
6062
  multi: true
6078
6063
  };
6079
- const noop$2 = () => {
6064
+ const noop$6 = () => {
6080
6065
  };
6081
- const ɵ0$5 = noop$2;
6066
+ const ɵ0$7 = noop$6;
6082
6067
  class MatBooleanField {
6083
6068
  constructor(translate, formBuilder, cd, formGroupDir) {
6084
6069
  this.translate = translate;
6085
6070
  this.formBuilder = formBuilder;
6086
6071
  this.cd = cd;
6087
6072
  this.formGroupDir = formGroupDir;
6088
- this._onChangeCallback = noop$2;
6089
- this._onTouchedCallback = noop$2;
6073
+ this._onChangeCallback = noop$6;
6074
+ this._onTouchedCallback = noop$6;
6090
6075
  this._writing = false;
6091
6076
  this.showRadio = false;
6092
6077
  this.disabled = false;
@@ -6249,7 +6234,7 @@ MatBooleanField.decorators = [
6249
6234
  selector: 'mat-boolean-field',
6250
6235
  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",
6251
6236
  providers: [
6252
- DEFAULT_VALUE_ACCESSOR$1
6237
+ DEFAULT_VALUE_ACCESSOR$4
6253
6238
  ],
6254
6239
  changeDetection: ChangeDetectionStrategy.OnPush,
6255
6240
  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}"]
@@ -6495,7 +6480,7 @@ class MatNumpadDomService {
6495
6480
  this.appRef.detachView(this.componentRef.hostView);
6496
6481
  }
6497
6482
  }
6498
- 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" });
6483
+ MatNumpadDomService.ɵprov = ɵɵdefineInjectable({ factory: function MatNumpadDomService_Factory() { return new MatNumpadDomService(ɵɵinject(ComponentFactoryResolver), ɵɵinject(ApplicationRef), ɵɵinject(INJECTOR), ɵɵinject(DOCUMENT, 8)); }, token: MatNumpadDomService, providedIn: "root" });
6499
6484
  MatNumpadDomService.decorators = [
6500
6485
  { type: Injectable, args: [{
6501
6486
  providedIn: 'root'
@@ -6859,7 +6844,7 @@ SharedMatNumpadModule.decorators = [
6859
6844
  },] }
6860
6845
  ];
6861
6846
 
6862
- const DEFAULT_VALUE_ACCESSOR = {
6847
+ const DEFAULT_VALUE_ACCESSOR$5 = {
6863
6848
  provide: NG_VALUE_ACCESSOR,
6864
6849
  useExisting: forwardRef(() => MatSwipeField),
6865
6850
  multi: true
@@ -7122,7 +7107,7 @@ MatSwipeField.decorators = [
7122
7107
  { type: Component, args: [{
7123
7108
  selector: 'mat-swipe-field',
7124
7109
  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",
7125
- providers: [DEFAULT_VALUE_ACCESSOR],
7110
+ providers: [DEFAULT_VALUE_ACCESSOR$5],
7126
7111
  changeDetection: ChangeDetectionStrategy.OnPush,
7127
7112
  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}"]
7128
7113
  },] }
@@ -7180,14 +7165,14 @@ SharedMatSwipeModule.decorators = [
7180
7165
  },] }
7181
7166
  ];
7182
7167
 
7183
- const noop$1 = () => { };
7184
- const ɵ0$4 = noop$1;
7168
+ const noop$7 = () => { };
7169
+ const ɵ0$8 = noop$7;
7185
7170
  class MatChipsField {
7186
7171
  constructor(cd, formGroupDir) {
7187
7172
  this.cd = cd;
7188
7173
  this.formGroupDir = formGroupDir;
7189
- this._onChangeCallback = noop$1;
7190
- this._onTouchedCallback = noop$1;
7174
+ this._onChangeCallback = noop$7;
7175
+ this._onTouchedCallback = noop$7;
7191
7176
  this.logPrefix = '[mat-chips] ';
7192
7177
  this.formControlName = null;
7193
7178
  this.required = false;
@@ -8056,7 +8041,7 @@ class ProgressBarService {
8056
8041
  }
8057
8042
  }
8058
8043
  }
8059
- ProgressBarService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
8044
+ ProgressBarService.ɵprov = ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
8060
8045
  ProgressBarService.decorators = [
8061
8046
  { type: Injectable, args: [{ providedIn: 'root' },] }
8062
8047
  ];
@@ -8100,7 +8085,7 @@ class AppGestureConfig extends HammerGestureConfig {
8100
8085
  return mc;
8101
8086
  }
8102
8087
  }
8103
- AppGestureConfig.ɵprov = i0.ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
8088
+ AppGestureConfig.ɵprov = ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
8104
8089
  AppGestureConfig.decorators = [
8105
8090
  { type: Injectable, args: [{ providedIn: 'root' },] }
8106
8091
  ];
@@ -8325,7 +8310,7 @@ class MatPaginatorI18n extends MatPaginatorIntl {
8325
8310
  this.previousPageLabel = this.translate.instant('COMMON.PAGINATOR.PREVIOUS_PAGE');
8326
8311
  }
8327
8312
  }
8328
- MatPaginatorI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(i0.ɵɵinject(i1$1.TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
8313
+ MatPaginatorI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(ɵɵinject(TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
8329
8314
  MatPaginatorI18n.decorators = [
8330
8315
  { type: Injectable, args: [{ providedIn: 'root' },] }
8331
8316
  ];
@@ -8415,17 +8400,17 @@ function getColorContrast(color, bw) {
8415
8400
  return rgbArrayToHex(rgb.map(v => 255 - v));
8416
8401
  }
8417
8402
 
8418
- const noop = () => {
8403
+ const noop$8 = () => {
8419
8404
  };
8420
- const ɵ0$3 = noop;
8405
+ const ɵ0$9 = noop$8;
8421
8406
  class AppFormField {
8422
8407
  constructor(translate, cd, injector, formGroupDir) {
8423
8408
  this.translate = translate;
8424
8409
  this.cd = cd;
8425
8410
  this.injector = injector;
8426
8411
  this.formGroupDir = formGroupDir;
8427
- this._onChangeCallback = noop;
8428
- this._onTouchedCallback = noop;
8412
+ this._onChangeCallback = noop$8;
8413
+ this._onTouchedCallback = noop$8;
8429
8414
  this.readonly = false;
8430
8415
  this.compact = false;
8431
8416
  this.floatLabel = 'auto';
@@ -8861,14 +8846,14 @@ class AudioProvider extends StartableService {
8861
8846
  });
8862
8847
  }
8863
8848
  }
8864
- 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" });
8849
+ 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" });
8865
8850
  AudioProvider.decorators = [
8866
8851
  { type: Injectable, args: [{ providedIn: 'root' },] }
8867
8852
  ];
8868
8853
  AudioProvider.ctorParameters = () => [
8869
8854
  { type: Platform },
8870
- { type: NativeAudio, decorators: [{ type: Optional }] },
8871
- { type: Vibration, decorators: [{ type: Optional }] },
8855
+ { type: NativeAudio$1, decorators: [{ type: Optional }] },
8856
+ { type: Vibration$1, decorators: [{ type: Optional }] },
8872
8857
  { type: AudioManagement, decorators: [{ type: Optional }] }
8873
8858
  ];
8874
8859
 
@@ -8891,11 +8876,12 @@ HotkeysDialogComponent.ctorParameters = () => [
8891
8876
  ];
8892
8877
 
8893
8878
  class Hotkeys {
8894
- constructor(eventManager, dialog, document, modalController) {
8879
+ constructor(eventManager, dialog, document, modalController, popoverController) {
8895
8880
  this.eventManager = eventManager;
8896
8881
  this.dialog = dialog;
8897
8882
  this.document = document;
8898
8883
  this.modalController = modalController;
8884
+ this.popoverController = popoverController;
8899
8885
  this._debug = false;
8900
8886
  this._hotkeys = new Map();
8901
8887
  this._defaults = {
@@ -8924,10 +8910,12 @@ class Hotkeys {
8924
8910
  return new Observable(observer => {
8925
8911
  const handler = (e) => __awaiter(this, void 0, void 0, function* () {
8926
8912
  // Get top component from ModalController
8927
- const top = yield this.modalController.getTop();
8913
+ const top = (yield this.modalController.getTop()) || (yield this.popoverController.getTop());
8928
8914
  // If modal present, check its component name against hotkey element name (fix #181)
8929
- if (top && top.component['name'] !== merged.elementName)
8915
+ if (top && top.component['name'] !== merged.elementName) {
8916
+ e.preventDefault();
8930
8917
  return;
8918
+ }
8931
8919
  if (e instanceof KeyboardEvent && e.repeat)
8932
8920
  return; // skip when repeated
8933
8921
  if (merged.preventDefault)
@@ -8950,7 +8938,7 @@ class Hotkeys {
8950
8938
  });
8951
8939
  }
8952
8940
  }
8953
- 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" });
8941
+ Hotkeys.ɵprov = ɵɵdefineInjectable({ factory: function Hotkeys_Factory() { return new Hotkeys(ɵɵinject(EventManager), ɵɵinject(MatDialog), ɵɵinject(DOCUMENT), ɵɵinject(ModalController), ɵɵinject(PopoverController)); }, token: Hotkeys, providedIn: "root" });
8954
8942
  Hotkeys.decorators = [
8955
8943
  { type: Injectable, args: [{
8956
8944
  providedIn: 'root'
@@ -8960,7 +8948,8 @@ Hotkeys.ctorParameters = () => [
8960
8948
  { type: EventManager },
8961
8949
  { type: MatDialog },
8962
8950
  { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
8963
- { type: ModalController }
8951
+ { type: ModalController },
8952
+ { type: PopoverController }
8964
8953
  ];
8965
8954
 
8966
8955
  class SharedHotkeysModule {
@@ -9124,7 +9113,7 @@ class Base64ImageReader {
9124
9113
  }
9125
9114
  }
9126
9115
 
9127
- const uuidv4$1 = uuidv4Imported;
9116
+ const uuidv4 = uuidv4Imported;
9128
9117
  class FileService {
9129
9118
  constructor(platform,
9130
9119
  //private transfer: FileTransfer,
@@ -9161,7 +9150,7 @@ class FileService {
9161
9150
  const lastSlashIndex = source.lastIndexOf('/');
9162
9151
  if (lastSlashIndex === -1)
9163
9152
  throw new Error('Invalid URL: ' + source);
9164
- const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4$1();
9153
+ const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
9165
9154
  // Download into the file system
9166
9155
  if (responseType === 'file' && this.canUseFileSystem) {
9167
9156
  console.warn(`WARN: [file] Fetching image {${source}} in local file...`);
@@ -9217,7 +9206,7 @@ class FileService {
9217
9206
  this._started = true;
9218
9207
  }
9219
9208
  }
9220
- 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" });
9209
+ FileService.ɵprov = ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(ɵɵinject(Platform), ɵɵinject(HttpClient), ɵɵinject(ENVIRONMENT)); }, token: FileService, providedIn: "root" });
9221
9210
  FileService.decorators = [
9222
9211
  { type: Injectable, args: [{
9223
9212
  providedIn: 'root',
@@ -9383,7 +9372,7 @@ class Base58 {
9383
9372
  Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
9384
9373
 
9385
9374
  const scrypt = require('scrypt-async');
9386
- const sha256$1 = require('hash.js/lib/hash/sha/256');
9375
+ const sha256 = require('hash.js/lib/hash/sha/256');
9387
9376
  const sha512 = require('hash.js/lib/hash/sha/512');
9388
9377
  const nacl = {
9389
9378
  sign,
@@ -9487,7 +9476,7 @@ class CryptoService {
9487
9476
  * Hash (using SHA256) a message
9488
9477
  */
9489
9478
  sha256(message) {
9490
- return sha256$1().update(message).digest('hex');
9479
+ return sha256().update(message).digest('hex');
9491
9480
  }
9492
9481
  /**
9493
9482
  * Hash (using SHA512) a message
@@ -9500,7 +9489,7 @@ class CryptoService {
9500
9489
  return nacl.util.encodeBase64(m);
9501
9490
  }
9502
9491
  }
9503
- CryptoService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
9492
+ CryptoService.ɵprov = ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
9504
9493
  CryptoService.decorators = [
9505
9494
  { type: Injectable, args: [{ providedIn: 'root' },] }
9506
9495
  ];
@@ -10363,7 +10352,7 @@ SelectPeerModal.propDecorators = {
10363
10352
  onRefresh: [{ type: Input }]
10364
10353
  };
10365
10354
 
10366
- const moment$4 = momentImported;
10355
+ const moment$3 = momentImported;
10367
10356
  const SETTINGS_STORAGE_KEY = 'settings';
10368
10357
  const SETTINGS_TRANSIENT_PROPERTIES = ['mobile', 'touchUi' /*deprecated*/];
10369
10358
  // fixme: this constant points to static environment
@@ -10606,11 +10595,11 @@ class LocalSettingsService extends StartableService {
10606
10595
  if (!feature) {
10607
10596
  feature = {
10608
10597
  name: featureName.toLowerCase(),
10609
- lastSyncDate: moment$4().toISOString()
10598
+ lastSyncDate: moment$3().toISOString()
10610
10599
  };
10611
10600
  }
10612
10601
  else {
10613
- feature.lastSyncDate = moment$4().toISOString();
10602
+ feature.lastSyncDate = moment$3().toISOString();
10614
10603
  }
10615
10604
  this.saveOfflineFeature(feature);
10616
10605
  }
@@ -10771,7 +10760,7 @@ class LocalSettingsService extends StartableService {
10771
10760
  if (!page || !page.title || !page.path)
10772
10761
  throw Error('Missing required argument \'page\', \'page.path\' or \'page.title\'');
10773
10762
  // Set time
10774
- page.time = page.time || moment$4();
10763
+ page.time = page.time || moment$3();
10775
10764
  // Clean the title (remove <small> tags)
10776
10765
  if (!opts || opts.removeTitleSmallTag !== false) {
10777
10766
  const tagIndex = page.title.indexOf('</small>');
@@ -10787,7 +10776,7 @@ class LocalSettingsService extends StartableService {
10787
10776
  return page;
10788
10777
  }
10789
10778
  }
10790
- 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" });
10779
+ 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" });
10791
10780
  LocalSettingsService.decorators = [
10792
10781
  { type: Injectable, args: [{
10793
10782
  providedIn: 'root',
@@ -11504,7 +11493,7 @@ class NetworkService extends StartableService {
11504
11493
  });
11505
11494
  }
11506
11495
  }
11507
- 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" });
11496
+ 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" });
11508
11497
  NetworkService.decorators = [
11509
11498
  { type: Injectable, args: [{ providedIn: 'root' },] }
11510
11499
  ];
@@ -11515,16 +11504,16 @@ NetworkService.ctorParameters = () => [
11515
11504
  { type: CryptoService },
11516
11505
  { type: Storage },
11517
11506
  { type: LocalSettingsService },
11518
- { type: CacheService },
11507
+ { type: CacheService$1 },
11519
11508
  { type: HttpClient },
11520
11509
  { type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
11521
- { type: Network, decorators: [{ type: Optional }] },
11522
- { type: SplashScreen, decorators: [{ type: Optional }] },
11510
+ { type: Network$1, decorators: [{ type: Optional }] },
11511
+ { type: SplashScreen$1, decorators: [{ type: Optional }] },
11523
11512
  { type: TranslateService, decorators: [{ type: Optional }] },
11524
11513
  { type: ToastController, decorators: [{ type: Optional }] }
11525
11514
  ];
11526
11515
 
11527
- const ErrorCodes$2 = {
11516
+ const ErrorCodes = {
11528
11517
  UNKNOWN_ERROR: 0,
11529
11518
  LOAD_ACCOUNT_ERROR: 1,
11530
11519
  BAD_PASSWORD: 2,
@@ -11876,7 +11865,7 @@ class EntityStore {
11876
11865
  }
11877
11866
  catch (err) {
11878
11867
  console.error(err);
11879
- throw { code: ErrorCodes$2.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
11868
+ throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
11880
11869
  }
11881
11870
  }
11882
11871
  // Emit update event
@@ -12450,7 +12439,7 @@ class EntitiesStorage extends StartableService {
12450
12439
  }
12451
12440
  EntitiesStorage.TRASH_PREFIX = 'Trash#';
12452
12441
  EntitiesStorage.REMOTE_PREFIX = 'Remote#';
12453
- 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" });
12442
+ 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" });
12454
12443
  EntitiesStorage.decorators = [
12455
12444
  { type: Injectable, args: [{ providedIn: 'root' },] }
12456
12445
  ];
@@ -12587,10 +12576,10 @@ function referentialToString(obj, properties) {
12587
12576
  function referentialsToString(values, properties, separator) {
12588
12577
  return (values || []).map(v => referentialToString(v, properties)).join(separator || ', ');
12589
12578
  }
12590
- const ɵ0$2 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
12579
+ const ɵ0$a = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
12591
12580
  const StatusList = Object.freeze([
12592
12581
  {
12593
- id: ɵ0$2,
12582
+ id: ɵ0$a,
12594
12583
  icon: 'checkmark',
12595
12584
  label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
12596
12585
  },
@@ -12865,7 +12854,7 @@ function accountToString(data) {
12865
12854
  (data.lastName || '')) || '';
12866
12855
  }
12867
12856
 
12868
- const uuidv4 = uuidv4Imported;
12857
+ const uuidv4$1 = uuidv4Imported;
12869
12858
  const _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
12870
12859
  const NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
12871
12860
  /**
@@ -12909,7 +12898,7 @@ function createTrackerLink(opts) {
12909
12898
  // Skip if not tracked
12910
12899
  if (!context || !context.tracked)
12911
12900
  return forward(operation);
12912
- const id = context.serializationKey || uuidv4();
12901
+ const id = context.serializationKey || uuidv4$1();
12913
12902
  console.debug(`[apollo-tracker-link] Watching tracked query {${operation.operationName}#${id}}`);
12914
12903
  // Clean context, before calling JSON.stringify (remove unused attributes)
12915
12904
  const cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
@@ -13572,7 +13561,7 @@ class GraphqlService extends StartableService {
13572
13561
  (err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
13573
13562
  || this.toAppError(err.networkError)
13574
13563
  || (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
13575
- || this.createAppErrorByCode(ErrorCodes$2.UNKNOWN_NETWORK_ERROR)))
13564
+ || this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
13576
13565
  // If graphQL: try to convert the first error found
13577
13566
  || (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
13578
13567
  || this.toAppError(err)
@@ -13580,7 +13569,7 @@ class GraphqlService extends StartableService {
13580
13569
  || (err.graphQLErrors && err.graphQLErrors[0])
13581
13570
  || err;
13582
13571
  console.error('[graphql] ' + (error && error.message || error), error.stack || '');
13583
- if (error && error.code === ErrorCodes$2.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
13572
+ if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
13584
13573
  console.error('[graphql] original error: ' + err.networkError.message);
13585
13574
  this.onNetworkError.next(error);
13586
13575
  }
@@ -13591,7 +13580,7 @@ class GraphqlService extends StartableService {
13591
13580
  data: null,
13592
13581
  errors: [error],
13593
13582
  loading: false,
13594
- networkStatus: null
13583
+ networkStatus: NetworkStatus.error
13595
13584
  };
13596
13585
  }
13597
13586
  createAppErrorByCode(errorCode) {
@@ -13616,7 +13605,7 @@ class GraphqlService extends StartableService {
13616
13605
  return 'ERROR.UNAUTHORIZED';
13617
13606
  case ServerErrorCodes.FORBIDDEN:
13618
13607
  return 'ERROR.FORBIDDEN';
13619
- case ErrorCodes$2.UNKNOWN_NETWORK_ERROR:
13608
+ case ErrorCodes.UNKNOWN_NETWORK_ERROR:
13620
13609
  return 'ERROR.UNKNOWN_NETWORK_ERROR';
13621
13610
  case ServerErrorCodes.BAD_UPDATE_DATE:
13622
13611
  return 'ERROR.BAD_UPDATE_DATE';
@@ -13647,7 +13636,7 @@ class GraphqlService extends StartableService {
13647
13636
  return undefined;
13648
13637
  }
13649
13638
  }
13650
- 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" });
13639
+ 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" });
13651
13640
  GraphqlService.decorators = [
13652
13641
  { type: Injectable, args: [{
13653
13642
  providedIn: 'root'
@@ -13664,7 +13653,7 @@ GraphqlService.ctorParameters = () => [
13664
13653
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
13665
13654
  ];
13666
13655
 
13667
- const sha256 = require('hash.js/lib/hash/sha/256');
13656
+ const sha256$1 = require('hash.js/lib/hash/sha/256');
13668
13657
  class BaseGraphqlServiceOptions {
13669
13658
  }
13670
13659
  // eslint-disable-next-line @angular-eslint/directive-class-suffix
@@ -13815,8 +13804,8 @@ class BaseGraphqlService extends StartableService {
13815
13804
  }
13816
13805
  /* -- protected methods -- */
13817
13806
  computeMutableWatchQueryId(opts) {
13818
- const queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
13819
- const variablesKey = opts.variables && sha256().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
13807
+ const queryName = opts.queryName || sha256$1().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
13808
+ const variablesKey = opts.variables && sha256$1().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
13820
13809
  return [queryName, opts.arrayFieldName, variablesKey].join('|');
13821
13810
  }
13822
13811
  findMutableWatchQueries(opts) {
@@ -13886,7 +13875,7 @@ const DEFAULT_AVATAR_IMAGE = 'assets/img/person.png';
13886
13875
  /* ------------------------------------
13887
13876
  * GraphQL queries
13888
13877
  * ------------------------------------*/
13889
- const Fragments$1 = {
13878
+ const Fragments = {
13890
13879
  account: gql `
13891
13880
  fragment AccountFragment on AccountVO {
13892
13881
  id
@@ -13921,14 +13910,14 @@ const Fragments$1 = {
13921
13910
  }`
13922
13911
  };
13923
13912
  // Load account query
13924
- const LoadQuery$1 = gql `
13913
+ const LoadQuery = gql `
13925
13914
  query Account {
13926
13915
  data: account {
13927
13916
  ...AccountFragment
13928
13917
  }
13929
13918
  }
13930
- ${Fragments$1.account}
13931
- ${Fragments$1.settings}
13919
+ ${Fragments.account}
13920
+ ${Fragments.settings}
13932
13921
  `;
13933
13922
  // Check email query
13934
13923
  const IsEmailExistsQuery = gql `
@@ -13943,21 +13932,21 @@ const AccountMutations = {
13943
13932
  ...AccountFragment
13944
13933
  }
13945
13934
  }
13946
- ${Fragments$1.account}
13947
- ${Fragments$1.settings}`,
13935
+ ${Fragments.account}
13936
+ ${Fragments.settings}`,
13948
13937
  create: gql `mutation CreateAccount($data:AccountVOInput){
13949
13938
  data: createAccount(account: $data){
13950
13939
  ...AccountFragment
13951
13940
  }
13952
13941
  }
13953
- ${Fragments$1.account}
13954
- ${Fragments$1.settings}`,
13942
+ ${Fragments.account}
13943
+ ${Fragments.settings}`,
13955
13944
  saveSettings: gql `mutation SaveSettings($data:UserSettingsVOInput){
13956
13945
  data: saveSettings(settings: $data){
13957
13946
  ...UserSettingsFragment
13958
13947
  }
13959
13948
  }
13960
- ${Fragments$1.settings}`
13949
+ ${Fragments.settings}`
13961
13950
  };
13962
13951
  // Sent confirmation email
13963
13952
  const SendConfirmEmailMutation = gql `
@@ -14272,7 +14261,7 @@ class AccountService extends BaseGraphqlService {
14272
14261
  catch (error) {
14273
14262
  console.error(error);
14274
14263
  this.resetData();
14275
- throw { code: ErrorCodes$2.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
14264
+ throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
14276
14265
  }
14277
14266
  // Store pubkey+keypair
14278
14267
  this._cache.pubkey = Base58.encode(keypair.publicKey);
@@ -14306,7 +14295,7 @@ class AccountService extends BaseGraphqlService {
14306
14295
  }
14307
14296
  catch (err) {
14308
14297
  // If account not found, check if email is valid
14309
- if (err && +(err.code) === ErrorCodes$2.LOAD_ACCOUNT_ERROR) {
14298
+ if (err && +(err.code) === ErrorCodes.LOAD_ACCOUNT_ERROR) {
14310
14299
  // Check email exists
14311
14300
  if (data.username.indexOf('@') !== -1) {
14312
14301
  let isEmailExists;
@@ -14318,11 +14307,11 @@ class AccountService extends BaseGraphqlService {
14318
14307
  }
14319
14308
  // Email not exists (no account)
14320
14309
  if (!isEmailExists) {
14321
- throw { code: ErrorCodes$2.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
14310
+ throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
14322
14311
  }
14323
14312
  }
14324
14313
  // Email exists, so error = 'bad password'
14325
- throw { code: ErrorCodes$2.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
14314
+ throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
14326
14315
  }
14327
14316
  throw err; // resend the first error
14328
14317
  }
@@ -14468,8 +14457,8 @@ class AccountService extends BaseGraphqlService {
14468
14457
  // Load remotely
14469
14458
  else {
14470
14459
  const { data } = yield this.graphql.query({
14471
- query: LoadQuery$1,
14472
- error: { code: ErrorCodes$2.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
14460
+ query: LoadQuery,
14461
+ error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
14473
14462
  fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
14474
14463
  });
14475
14464
  json = data;
@@ -14496,7 +14485,7 @@ class AccountService extends BaseGraphqlService {
14496
14485
  return __awaiter(this, void 0, void 0, function* () {
14497
14486
  const isEmailExists = yield this.isEmailExists(email);
14498
14487
  if (isEmailExists) {
14499
- throw { code: ErrorCodes$2.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
14488
+ throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
14500
14489
  }
14501
14490
  });
14502
14491
  }
@@ -14532,7 +14521,7 @@ class AccountService extends BaseGraphqlService {
14532
14521
  locale
14533
14522
  },
14534
14523
  error: {
14535
- code: ErrorCodes$2.SENT_CONFIRMATION_EMAIL_FAILED,
14524
+ code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
14536
14525
  message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
14537
14526
  }
14538
14527
  });
@@ -14548,7 +14537,7 @@ class AccountService extends BaseGraphqlService {
14548
14537
  code
14549
14538
  },
14550
14539
  error: {
14551
- code: ErrorCodes$2.CONFIRM_EMAIL_FAILED,
14540
+ code: ErrorCodes.CONFIRM_EMAIL_FAILED,
14552
14541
  message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
14553
14542
  }
14554
14543
  });
@@ -14627,7 +14616,7 @@ class AccountService extends BaseGraphqlService {
14627
14616
  throw error;
14628
14617
  console.error(error);
14629
14618
  throw {
14630
- code: ErrorCodes$2.LOAD_ACCOUNT_ERROR,
14619
+ code: ErrorCodes.LOAD_ACCOUNT_ERROR,
14631
14620
  message: 'ERROR.LOAD_ACCOUNT_ERROR'
14632
14621
  };
14633
14622
  }
@@ -14797,7 +14786,7 @@ class AccountService extends BaseGraphqlService {
14797
14786
  if (!isNew) {
14798
14787
  const existingAccount = yield this.load({ fetchPolicy: 'network-only' });
14799
14788
  if (!existingAccount || !existingAccount.updateDate) {
14800
- throw { code: ErrorCodes$2.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
14789
+ throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
14801
14790
  }
14802
14791
  this.copyIdAndUpdateDate(existingAccount, account);
14803
14792
  }
@@ -14809,7 +14798,7 @@ class AccountService extends BaseGraphqlService {
14809
14798
  mutation: isNew ? AccountMutations.create : AccountMutations.save,
14810
14799
  variables: { data: json },
14811
14800
  error: {
14812
- code: ErrorCodes$2.SAVE_ACCOUNT_ERROR,
14801
+ code: ErrorCodes.SAVE_ACCOUNT_ERROR,
14813
14802
  message: 'ERROR.SAVE_ACCOUNT_ERROR'
14814
14803
  }
14815
14804
  });
@@ -14836,7 +14825,7 @@ class AccountService extends BaseGraphqlService {
14836
14825
  mutation: AccountMutations.saveSettings,
14837
14826
  variables: { data: json },
14838
14827
  error: {
14839
- code: ErrorCodes$2.SAVE_SETTINGS_ERROR,
14828
+ code: ErrorCodes.SAVE_SETTINGS_ERROR,
14840
14829
  message: 'ERROR.SAVE_SETTINGS_ERROR'
14841
14830
  }
14842
14831
  });
@@ -14858,7 +14847,7 @@ class AccountService extends BaseGraphqlService {
14858
14847
  if (counter > 4) {
14859
14848
  if (this._debug)
14860
14849
  console.debug(`[account] Failed to authentication on pod (after ${counter} attempts)`);
14861
- throw { code: ErrorCodes$2.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
14850
+ throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
14862
14851
  }
14863
14852
  // Check if valid
14864
14853
  if (token) {
@@ -14868,7 +14857,7 @@ class AccountService extends BaseGraphqlService {
14868
14857
  token
14869
14858
  },
14870
14859
  error: {
14871
- code: ErrorCodes$2.UNAUTHORIZED,
14860
+ code: ErrorCodes.UNAUTHORIZED,
14872
14861
  message: 'ERROR.UNAUTHORIZED'
14873
14862
  },
14874
14863
  fetchPolicy: 'no-cache'
@@ -14884,7 +14873,7 @@ class AccountService extends BaseGraphqlService {
14884
14873
  }
14885
14874
  // Generate a new token
14886
14875
  const challengeError = {
14887
- code: ErrorCodes$2.AUTH_CHALLENGE_ERROR,
14876
+ code: ErrorCodes.AUTH_CHALLENGE_ERROR,
14888
14877
  message: 'ERROR.AUTH_CHALLENGE_ERROR'
14889
14878
  };
14890
14879
  const data = yield this.graphql.query({
@@ -14962,7 +14951,7 @@ class AccountService extends BaseGraphqlService {
14962
14951
  query: AccountSubscriptions.listenChanges,
14963
14952
  variables,
14964
14953
  error: {
14965
- code: ErrorCodes$2.SUBSCRIBE_ACCOUNT_ERROR,
14954
+ code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
14966
14955
  message: 'ERROR.ACCOUNT.SUBSCRIBE_ERROR'
14967
14956
  }
14968
14957
  }).pipe(map(({ data }) => data),
@@ -14991,7 +14980,7 @@ class AccountService extends BaseGraphqlService {
14991
14980
  return Toasts.show(this.toastController, this.translate, opts);
14992
14981
  }
14993
14982
  }
14994
- 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(i1$1.TranslateService, 8), i0.ɵɵinject(i1$4.ToastController, 8), i0.ɵɵinject(ENVIRONMENT)); }, token: AccountService, providedIn: "root" });
14983
+ AccountService.ɵprov = ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(ɵɵinject(CryptoService), ɵɵinject(NetworkService), ɵɵinject(GraphqlService), ɵɵinject(LocalSettingsService), ɵɵinject(Storage), ɵɵinject(FileService), ɵɵinject(TranslateService, 8), ɵɵinject(ToastController, 8), ɵɵinject(ENVIRONMENT)); }, token: AccountService, providedIn: "root" });
14995
14984
  AccountService.decorators = [
14996
14985
  { type: Injectable, args: [{ providedIn: 'root', deps: [ENVIRONMENT] },] }
14997
14986
  ];
@@ -15259,7 +15248,7 @@ const CONFIGURATION_STORAGE_KEY = 'configuration';
15259
15248
  /* ------------------------------------
15260
15249
  * GraphQL queries
15261
15250
  * ------------------------------------*/
15262
- const Fragments = {
15251
+ const Fragments$1 = {
15263
15252
  config: gql `
15264
15253
  fragment ConfigFragment on ConfigurationVO {
15265
15254
  id
@@ -15286,13 +15275,13 @@ const Fragments = {
15286
15275
  }
15287
15276
  `
15288
15277
  };
15289
- const LoadQuery = gql `
15278
+ const LoadQuery$1 = gql `
15290
15279
  query Configuration{
15291
15280
  data: configuration{
15292
15281
  ...ConfigFragment
15293
15282
  }
15294
15283
  }
15295
- ${Fragments.config}
15284
+ ${Fragments$1.config}
15296
15285
  `;
15297
15286
  // Save (create or update) account mutation
15298
15287
  const SaveMutation = gql `
@@ -15301,7 +15290,7 @@ const SaveMutation = gql `
15301
15290
  ...ConfigFragment
15302
15291
  }
15303
15292
  }
15304
- ${Fragments.config}
15293
+ ${Fragments$1.config}
15305
15294
  `;
15306
15295
  const ClearCache = gql `
15307
15296
  query ClearCache($name: String) {
@@ -15352,12 +15341,12 @@ class ConfigService extends BaseGraphqlService {
15352
15341
  return __awaiter(this, void 0, void 0, function* () {
15353
15342
  const now = Date.now();
15354
15343
  console.debug('[config] Loading Pod configuration...');
15355
- const query = opts && opts.query || LoadQuery;
15344
+ const query = opts && opts.query || LoadQuery$1;
15356
15345
  const variables = opts && opts.variables || undefined;
15357
15346
  const res = yield this.graphql.query({
15358
15347
  query,
15359
15348
  variables,
15360
- error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
15349
+ error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
15361
15350
  fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
15362
15351
  });
15363
15352
  const data = res && res.data ? Configuration.fromObject(res.data) : undefined;
@@ -15390,7 +15379,7 @@ class ConfigService extends BaseGraphqlService {
15390
15379
  data: json
15391
15380
  },
15392
15381
  error: {
15393
- code: ErrorCodes$2.SAVE_CONFIG_ERROR,
15382
+ code: ErrorCodes.SAVE_CONFIG_ERROR,
15394
15383
  message: 'ERROR.SAVE_CONFIG_ERROR'
15395
15384
  }
15396
15385
  });
@@ -15416,7 +15405,7 @@ class ConfigService extends BaseGraphqlService {
15416
15405
  const res = yield this.graphql.query({
15417
15406
  query: CacheStatistics,
15418
15407
  variables: null,
15419
- error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
15408
+ error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
15420
15409
  fetchPolicy: 'network-only'
15421
15410
  });
15422
15411
  const data = res && res.cacheStatistics || undefined;
@@ -15432,7 +15421,7 @@ class ConfigService extends BaseGraphqlService {
15432
15421
  const res = yield this.graphql.query({
15433
15422
  query: ClearCache,
15434
15423
  variables,
15435
- error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
15424
+ error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
15436
15425
  fetchPolicy: 'no-cache'
15437
15426
  });
15438
15427
  const data = res && res.clearCache || undefined;
@@ -15591,7 +15580,7 @@ class ConfigService extends BaseGraphqlService {
15591
15580
  });
15592
15581
  }
15593
15582
  }
15594
- 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(AccountService), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(APP_CONFIG_OPTIONS, 8)); }, token: ConfigService, providedIn: "root" });
15583
+ 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(AccountService), ɵɵinject(ENVIRONMENT), ɵɵinject(APP_CONFIG_OPTIONS, 8)); }, token: ConfigService, providedIn: "root" });
15595
15584
  ConfigService.decorators = [
15596
15585
  { type: Injectable, args: [{
15597
15586
  providedIn: 'root',
@@ -15611,7 +15600,7 @@ ConfigService.ctorParameters = () => [
15611
15600
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_CONFIG_OPTIONS,] }] }
15612
15601
  ];
15613
15602
 
15614
- const moment$3 = momentImported;
15603
+ const moment$4 = momentImported;
15615
15604
  const AndroidOsEnvironment = Object.freeze({
15616
15605
  DIRECTORY_DOWNLOADS: 'Download',
15617
15606
  DIRECTORY_DOWNLOADS_OLD: 'Downloads',
@@ -15845,16 +15834,16 @@ class PlatformService extends StartableService {
15845
15834
  }
15846
15835
  // config moment lib
15847
15836
  try {
15848
- moment$3.locale(event.lang);
15837
+ moment$4.locale(event.lang);
15849
15838
  console.debug('[platform] Use locale {' + event.lang + '}');
15850
15839
  }
15851
15840
  // If error, fallback to en
15852
15841
  catch (err) {
15853
- moment$3.locale('en');
15842
+ moment$4.locale('en');
15854
15843
  console.warn('[platform] Unknown local for moment lib. Using default [en]');
15855
15844
  }
15856
15845
  // Config date adapter
15857
- this.dateAdapter.setLocale(moment$3.locale());
15846
+ this.dateAdapter.setLocale(moment$4.locale());
15858
15847
  }
15859
15848
  });
15860
15849
  this.settings.onChange.subscribe(data => {
@@ -16055,7 +16044,7 @@ class PlatformService extends StartableService {
16055
16044
  });
16056
16045
  }
16057
16046
  }
16058
- 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" });
16047
+ 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" });
16059
16048
  PlatformService.decorators = [
16060
16049
  { type: Injectable, args: [{ providedIn: 'root' },] }
16061
16050
  ];
@@ -16070,15 +16059,15 @@ PlatformService.ctorParameters = () => [
16070
16059
  { type: NetworkService },
16071
16060
  { type: AccountService },
16072
16061
  { type: ConfigService },
16073
- { type: CacheService },
16062
+ { type: CacheService$1 },
16074
16063
  { type: Storage },
16075
16064
  { type: AudioProvider },
16076
16065
  { type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
16077
- { type: StatusBar, decorators: [{ type: Optional }] },
16066
+ { type: StatusBar$1, decorators: [{ type: Optional }] },
16078
16067
  { type: Keyboard, decorators: [{ type: Optional }] },
16079
- { type: SplashScreen, decorators: [{ type: Optional }] },
16080
- { type: InAppBrowser, decorators: [{ type: Optional }] },
16081
- { type: Downloader, decorators: [{ type: Optional }] }
16068
+ { type: SplashScreen$1, decorators: [{ type: Optional }] },
16069
+ { type: InAppBrowser$1, decorators: [{ type: Optional }] },
16070
+ { type: Downloader$1, decorators: [{ type: Optional }] }
16082
16071
  ];
16083
16072
 
16084
16073
  class AppHelpModal {
@@ -16142,7 +16131,7 @@ class MatStepperI18n extends MatStepperIntl {
16142
16131
  this.optionalLabel = this.translate.instant('COMMON.OPTIONAL');
16143
16132
  }
16144
16133
  }
16145
- MatStepperI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(i0.ɵɵinject(i1$1.TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
16134
+ MatStepperI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(ɵɵinject(TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
16146
16135
  MatStepperI18n.decorators = [
16147
16136
  { type: Injectable, args: [{ providedIn: 'root' },] }
16148
16137
  ];
@@ -17274,7 +17263,7 @@ class TextForm extends AppForm {
17274
17263
  TextForm.decorators = [
17275
17264
  { type: Component, args: [{
17276
17265
  selector: 'app-text-form',
17277
- template: "<form class=\"form-container\" [formGroup]=\"form\" (ngSubmit)=\"doSubmit($event)\">\n <mat-form-field *ngIf=\"multiline; else monoline\">\n <textarea\n #textArea\n matInput\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [readonly]=\"control.disabled\"\n [class.fixed-height]=\"!autoHeight\"\n [cdkTextareaAutosize]=\"autoHeight\"\n (keyup)=\"textAreaChanged($event)\"\n (keydown.control.enter)=\"onSubmit.emit($event)\"\n [autofocus]=\"autofocus\"\n ></textarea>\n <mat-error *ngIf=\"control.hasError('maxlength')\">\n {{ 'ERROR.FIELD_MAX_LENGTH' | translate: control.errors['maxlength'] }}\n </mat-error>\n <mat-hint *ngIf=\"maxLength\" align=\"end\">\n {{ 'INFO.TEXT_PROGRESS' | translate: { current: textArea.value?.length || 0, max: maxLength } }}\n </mat-hint>\n </mat-form-field>\n <ng-template #monoline>\n <mat-form-field>\n <input\n #textInput\n matInput\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [readonly]=\"disabled\"\n [appAutofocus]=\"autofocus\"\n />\n <mat-error *ngIf=\"control.hasError('maxlength')\">\n {{ 'ERROR.FIELD_MAX_LENGTH' | translate: control.errors['maxlength'] }}\n </mat-error>\n <mat-hint *ngIf=\"maxLength\" align=\"end\">\n {{ 'INFO.TEXT_PROGRESS' | translate: { current: textInput.value?.length || 0, max: maxLength } }}\n </mat-hint>\n </mat-form-field>\n </ng-template>\n</form>\n",
17266
+ template: "<form class=\"form-container\" [formGroup]=\"form\" (ngSubmit)=\"doSubmit($event)\">\n <mat-form-field *ngIf=\"multiline; else monoline\">\n <textarea\n #textArea\n matInput\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [readonly]=\"control.disabled\"\n [class.fixed-height]=\"!autoHeight\"\n [cdkTextareaAutosize]=\"autoHeight\"\n (keyup)=\"textAreaChanged($event)\"\n (keydown.control.enter)=\"onSubmit.emit($event)\"\n [autofocus]=\"autofocus\"\n ></textarea>\n <mat-error *ngIf=\"control.hasError('maxlength')\">\n {{ 'ERROR.FIELD_MAX_LENGTH' | translate: control.errors['maxlength'] }}\n </mat-error>\n <mat-hint *ngIf=\"maxLength\" align=\"end\">\n {{ 'INFO.TEXT_PROGRESS' | translate: { current: textArea.value?.length || 0, max: maxLength } }}\n </mat-hint>\n </mat-form-field>\n <ng-template #monoline>\n <mat-form-field>\n <input\n #textInput\n matInput\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [readonly]=\"disabled\"\n [appAutofocus]=\"autofocus\"\n (keydown.control.enter)=\"onSubmit.emit($event)\"\n />\n <mat-error *ngIf=\"control.hasError('maxlength')\">\n {{ 'ERROR.FIELD_MAX_LENGTH' | translate: control.errors['maxlength'] }}\n </mat-error>\n <mat-hint *ngIf=\"maxLength\" align=\"end\">\n {{ 'INFO.TEXT_PROGRESS' | translate: { current: textInput.value?.length || 0, max: maxLength } }}\n </mat-hint>\n </mat-form-field>\n </ng-template>\n</form>\n",
17278
17267
  styles: ["textarea.fixed-height{height:11.5em}"]
17279
17268
  },] }
17280
17269
  ];
@@ -17363,7 +17352,7 @@ class TextPopover {
17363
17352
  TextPopover.decorators = [
17364
17353
  { type: Component, args: [{
17365
17354
  selector: 'app-text-popover',
17366
- template: "\n<ion-content class=\"ion-padding\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\">\n <ion-item *ngIf=\"form.error\" visible-xs visible-sm visible-mobile lines=\"none\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"error\" [innerHTML]=\"form.error|translate\"></ion-label>\n </ion-item>\n\n <app-text-form #form [placeholder]=\"placeholder\"\n [multiline]=\"multiline\"\n [maxLength]=\"maxLength\"\n [autofocus]=\"editing && autofocus\"\n (onSubmit)=\"onValidate($event)\"\n ></app-text-form>\n</ion-content>\n\n<ion-footer>\n <ion-toolbar>\n <ion-row class=\"ion-no-padding\" nowrap>\n <ion-col>\n\n </ion-col>\n\n <ion-col size=\"auto\">\n <ion-button fill=\"clear\" color=\"dark\" (click)=\"cancel()\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n <ion-button\n [fill]=\"disabled ? 'clear' : 'solid'\"\n (click)=\"onValidate($event)\"\n (keyup.enter)=\"onValidate($event)\"\n color=\"tertiary\"\n [disabled]=\"disabled\"\n >\n <ion-label translate>COMMON.BTN_VALIDATE</ion-label>\n </ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n</ion-footer>\n"
17355
+ template: "\n<ion-content class=\"ion-padding\" cdkTrapFocus [cdkTrapFocusAutoCapture]=\"true\">\n <ion-item *ngIf=\"form.error\" visible-xs visible-sm visible-mobile lines=\"none\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"error\" [innerHTML]=\"form.error|translate\"></ion-label>\n </ion-item>\n\n <app-text-form #form [placeholder]=\"placeholder\"\n [multiline]=\"multiline\"\n [maxLength]=\"maxLength\"\n [autofocus]=\"editing && autofocus\"\n (onSubmit)=\"onValidate($event)\"\n ></app-text-form>\n</ion-content>\n\n<ion-footer>\n <ion-toolbar>\n <ion-row class=\"ion-no-padding\" nowrap>\n <ion-col>\n\n </ion-col>\n\n <ion-col size=\"auto\">\n <ion-button fill=\"clear\" color=\"dark\" (click)=\"cancel()\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n <ion-button\n [fill]=\"disabled ? 'clear' : 'solid'\"\n (click)=\"onValidate($event)\"\n (keyup.enter)=\"onValidate($event)\"\n color=\"tertiary\"\n [disabled]=\"disabled\"\n [title]=\"'COMMON.BTN_VALIDATE_WITH_SHORTCUT_HELP'|translate\">\n <ion-label translate>COMMON.BTN_VALIDATE</ion-label>\n </ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n</ion-footer>\n"
17367
17356
  },] }
17368
17357
  ];
17369
17358
  TextPopover.ctorParameters = () => [
@@ -17978,7 +17967,7 @@ function state2side(state) {
17978
17967
  return 1;
17979
17968
  }
17980
17969
  }
17981
- const ɵ0$1 = (defaultStateSize) => [
17970
+ const ɵ0$b = (defaultStateSize) => [
17982
17971
  Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
17983
17972
  Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
17984
17973
  Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
@@ -17986,7 +17975,7 @@ const ɵ0$1 = (defaultStateSize) => [
17986
17975
  const SCALE_OPTIONS_DEFAULT = {
17987
17976
  startColor: rgbArrayMap.red,
17988
17977
  startStates: [0, 2, 3],
17989
- startStepsFn: ɵ0$1
17978
+ startStepsFn: ɵ0$b
17990
17979
  };
17991
17980
  /**
17992
17981
  * Internal function, that create a colors scale, using iteration
@@ -18783,7 +18772,7 @@ class UserSettingsValidatorService extends AppValidatorService {
18783
18772
  });
18784
18773
  }
18785
18774
  }
18786
- UserSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(i0.ɵɵinject(i1$6.FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
18775
+ UserSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(ɵɵinject(FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
18787
18776
  UserSettingsValidatorService.decorators = [
18788
18777
  { type: Injectable, args: [{ providedIn: 'root' },] }
18789
18778
  ];
@@ -18827,7 +18816,7 @@ class AccountValidatorService extends AppValidatorService {
18827
18816
  return validatorFns.length ? Validators.compose(validatorFns) : validatorFns.length === 1 ? validatorFns[0] : undefined;
18828
18817
  }
18829
18818
  }
18830
- AccountValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
18819
+ AccountValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
18831
18820
  AccountValidatorService.decorators = [
18832
18821
  { type: Injectable, args: [{ providedIn: 'root' },] }
18833
18822
  ];
@@ -19392,7 +19381,7 @@ class LocalSettingsValidatorService extends AppValidatorService {
19392
19381
  });
19393
19382
  }
19394
19383
  }
19395
- LocalSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
19384
+ LocalSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(ɵɵinject(FormBuilder), ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
19396
19385
  LocalSettingsValidatorService.decorators = [
19397
19386
  { type: Injectable, args: [{ providedIn: 'root' },] }
19398
19387
  ];
@@ -20011,7 +20000,7 @@ class IsOnFieldModePipe {
20011
20000
  return value === 'FIELD';
20012
20001
  }
20013
20002
  }
20014
- IsOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
20003
+ IsOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
20015
20004
  IsOnFieldModePipe.decorators = [
20016
20005
  { type: Pipe, args: [{
20017
20006
  name: 'isOnField'
@@ -20023,7 +20012,7 @@ class IsNotOnFieldModePipe {
20023
20012
  return value !== 'FIELD';
20024
20013
  }
20025
20014
  }
20026
- IsNotOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
20015
+ IsNotOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
20027
20016
  IsNotOnFieldModePipe.decorators = [
20028
20017
  { type: Pipe, args: [{
20029
20018
  name: 'isNotOnField'
@@ -20038,7 +20027,7 @@ class PersonToStringPipe {
20038
20027
  return PersonUtils.personToString(value);
20039
20028
  }
20040
20029
  }
20041
- PersonToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
20030
+ PersonToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
20042
20031
  PersonToStringPipe.decorators = [
20043
20032
  { type: Pipe, args: [{
20044
20033
  name: 'personToString'
@@ -20423,7 +20412,7 @@ class IsLoginAccountPipe {
20423
20412
  return value && value.pubkey && true;
20424
20413
  }
20425
20414
  }
20426
- IsLoginAccountPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
20415
+ IsLoginAccountPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
20427
20416
  IsLoginAccountPipe.decorators = [
20428
20417
  { type: Pipe, args: [{
20429
20418
  name: 'isLogin'
@@ -20435,7 +20424,7 @@ class AccountToStringPipe {
20435
20424
  return accountToString(value);
20436
20425
  }
20437
20426
  }
20438
- AccountToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
20427
+ AccountToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
20439
20428
  AccountToStringPipe.decorators = [
20440
20429
  { type: Pipe, args: [{
20441
20430
  name: 'accountToString'
@@ -20450,7 +20439,7 @@ class DepartmentToStringPipe {
20450
20439
  return departmentToString(value);
20451
20440
  }
20452
20441
  }
20453
- DepartmentToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
20442
+ DepartmentToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
20454
20443
  DepartmentToStringPipe.decorators = [
20455
20444
  { type: Pipe, args: [{
20456
20445
  name: 'departmentToString'
@@ -20546,7 +20535,7 @@ class MenuService {
20546
20535
  this._visibleSubject.next(value);
20547
20536
  }
20548
20537
  }
20549
- MenuService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
20538
+ MenuService.ɵprov = ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
20550
20539
  MenuService.decorators = [
20551
20540
  { type: Injectable, args: [{
20552
20541
  providedIn: 'root'
@@ -20576,11 +20565,6 @@ class MenuComponent {
20576
20565
  this.appVersion = this.environment.version;
20577
20566
  this.side = 'left';
20578
20567
  this._debug = !environment.production;
20579
- this.onResize();
20580
- }
20581
- onResize(event) {
20582
- this._screenWidth = window.innerWidth;
20583
- console.debug('[menu] Screen size (px): ' + this._screenWidth);
20584
20568
  }
20585
20569
  ngOnInit() {
20586
20570
  return __awaiter(this, void 0, void 0, function* () {
@@ -20811,8 +20795,7 @@ MenuComponent.propDecorators = {
20811
20795
  appName: [{ type: Input }],
20812
20796
  appVersion: [{ type: Input }],
20813
20797
  side: [{ type: Input }],
20814
- splitPane: [{ type: ViewChild, args: ['splitPane', { static: true },] }],
20815
- onResize: [{ type: HostListener, args: ['window:resize', ['$event'],] }]
20798
+ splitPane: [{ type: ViewChild, args: ['splitPane', { static: true },] }]
20816
20799
  };
20817
20800
 
20818
20801
  class AppMenuModule {
@@ -21008,7 +20991,7 @@ class AuthGuardService {
21008
20991
  }));
21009
20992
  }
21010
20993
  }
21011
- 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" });
20994
+ AuthGuardService.ɵprov = ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new AuthGuardService(ɵɵinject(AccountService), ɵɵinject(ModalController), ɵɵinject(Router), ɵɵinject(ENVIRONMENT)); }, token: AuthGuardService, providedIn: "root" });
21012
20995
  AuthGuardService.decorators = [
21013
20996
  { type: Injectable, args: [{ providedIn: 'root' },] }
21014
20997
  ];
@@ -21050,7 +21033,7 @@ class BaseEntityService extends BaseGraphqlService {
21050
21033
  query,
21051
21034
  variables: { id },
21052
21035
  fetchPolicy: opts && opts.fetchPolicy || undefined,
21053
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
21036
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
21054
21037
  })
21055
21038
  .pipe(map(({ data }) => (!opts || opts.toEntity !== false)
21056
21039
  ? (data && this.fromObject(data))
@@ -21065,7 +21048,7 @@ class BaseEntityService extends BaseGraphqlService {
21065
21048
  query,
21066
21049
  variables: { id },
21067
21050
  fetchPolicy: opts && opts.fetchPolicy || undefined,
21068
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
21051
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
21069
21052
  });
21070
21053
  // Convert to entity
21071
21054
  return (!opts || opts.toEntity !== false)
@@ -21096,7 +21079,7 @@ class BaseEntityService extends BaseGraphqlService {
21096
21079
  totalFieldName: withTotal ? 'total' : undefined,
21097
21080
  insertFilterFn: filter && filter.asFilterFn(),
21098
21081
  variables,
21099
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
21082
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
21100
21083
  fetchPolicy: opts && opts.fetchPolicy || undefined
21101
21084
  })
21102
21085
  .pipe(map(({ data, total }) => {
@@ -21132,7 +21115,7 @@ class BaseEntityService extends BaseGraphqlService {
21132
21115
  const { data, total } = yield this.graphql.query({
21133
21116
  query,
21134
21117
  variables,
21135
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
21118
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
21136
21119
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
21137
21120
  });
21138
21121
  const entities = (!opts || opts.toEntity !== false) ?
@@ -21171,7 +21154,7 @@ class BaseEntityService extends BaseGraphqlService {
21171
21154
  variables: {
21172
21155
  filter: filter && filter.asPodObject()
21173
21156
  },
21174
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
21157
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
21175
21158
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
21176
21159
  });
21177
21160
  return res.total;
@@ -21207,7 +21190,7 @@ class BaseEntityService extends BaseGraphqlService {
21207
21190
  variables: {
21208
21191
  data: json
21209
21192
  },
21210
- error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
21193
+ error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
21211
21194
  update: (proxy, { data }) => {
21212
21195
  const savedEntities = data && data.data;
21213
21196
  if (savedEntities) {
@@ -21263,7 +21246,7 @@ class BaseEntityService extends BaseGraphqlService {
21263
21246
  variables: {
21264
21247
  data: json
21265
21248
  },
21266
- error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
21249
+ error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
21267
21250
  update: (cache, { data }) => {
21268
21251
  // Update entity
21269
21252
  const savedEntity = data && data.data;
@@ -21311,7 +21294,7 @@ class BaseEntityService extends BaseGraphqlService {
21311
21294
  refetchQueries: this.getRefetchQueriesForMutation(opts),
21312
21295
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
21313
21296
  variables: { ids },
21314
- error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
21297
+ error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
21315
21298
  update: (cache, res) => {
21316
21299
  // Remove from cache
21317
21300
  if (this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -21352,7 +21335,7 @@ class BaseEntityService extends BaseGraphqlService {
21352
21335
  refetchQueries: this.getRefetchQueriesForMutation(opts),
21353
21336
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
21354
21337
  variables: { id },
21355
- error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
21338
+ error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
21356
21339
  update: (proxy, res) => {
21357
21340
  // Remove from cache
21358
21341
  if (this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -21388,7 +21371,7 @@ class BaseEntityService extends BaseGraphqlService {
21388
21371
  fetchPolicy: opts && opts.fetchPolicy || 'no-cache',
21389
21372
  variables,
21390
21373
  error: {
21391
- code: ErrorCodes$2.SUBSCRIBE_DATA_ERROR,
21374
+ code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
21392
21375
  message: 'ERROR.SUBSCRIBE_DATA_ERROR'
21393
21376
  }
21394
21377
  })
@@ -21574,7 +21557,7 @@ class EntitiesTableDataSource extends TableDataSource {
21574
21557
  if (this._debug)
21575
21558
  invalidRows.forEach(row => AppTableUtils.logRowErrors(row, `[table-datasource] ${this._logTypeName} row #${row.id}`));
21576
21559
  // Stop with an error
21577
- throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
21560
+ throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
21578
21561
  }
21579
21562
  this._editingRowCount = 0;
21580
21563
  let data;
@@ -22445,14 +22428,14 @@ class AppTable {
22445
22428
  return __awaiter(this, void 0, void 0, function* () {
22446
22429
  opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
22447
22430
  if (this.readOnly) {
22448
- throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
22431
+ throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
22449
22432
  }
22450
22433
  this.resetError();
22451
22434
  // Keep edited row id (should be done BEFORE confirmEditCreate() )
22452
22435
  this.previouslyEditedRowId = opts.keepEditing ? ((((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.editing) ? this.editedRow.id : undefined) || ((_b = this.singleSelectedRow) === null || _b === void 0 ? void 0 : _b.id)) : undefined;
22453
22436
  const previouslyEditedData = opts.keepEditing ? (isNotNil(this.previouslyEditedRowId) && ((_c = this.editedRow) === null || _c === void 0 ? void 0 : _c.currentData) || ((_d = this.singleSelectedRow) === null || _d === void 0 ? void 0 : _d.currentData)) : undefined;
22454
22437
  if (!this.confirmEditCreate()) {
22455
- throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
22438
+ throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
22456
22439
  }
22457
22440
  // Mark as saving
22458
22441
  this.markAsSaving();
@@ -22571,7 +22554,7 @@ class AppTable {
22571
22554
  var _a;
22572
22555
  return __awaiter(this, void 0, void 0, function* () {
22573
22556
  if (this.readOnly) {
22574
- throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
22557
+ throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
22575
22558
  }
22576
22559
  if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
22577
22560
  return 0; // SKip
@@ -24151,7 +24134,7 @@ class AppEntityEditor extends AppTabEditor {
24151
24134
  try {
24152
24135
  const data = yield this.dataService.load(id, opts);
24153
24136
  if (!data)
24154
- throw { code: ErrorCodes$2.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
24137
+ throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
24155
24138
  this._usageMode = this.computeUsageMode(data);
24156
24139
  yield this.onEntityLoaded(data, opts);
24157
24140
  yield this.updateView(data, opts);
@@ -25103,7 +25086,7 @@ class UserEventService extends BaseGraphqlService {
25103
25086
  EntityUtils.copyIdAndUpdateDate(source, target);
25104
25087
  }
25105
25088
  }
25106
- 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" });
25089
+ 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" });
25107
25090
  UserEventService.decorators = [
25108
25091
  { type: Injectable, args: [{ providedIn: 'root' },] }
25109
25092
  ];
@@ -25484,7 +25467,7 @@ class PersonService extends BaseEntityService {
25484
25467
  return target;
25485
25468
  }
25486
25469
  }
25487
- 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" });
25470
+ PersonService.ɵprov = ɵɵdefineInjectable({ factory: function PersonService_Factory() { return new PersonService(ɵɵinject(GraphqlService), ɵɵinject(PlatformService), ɵɵinject(NetworkService), ɵɵinject(EntitiesStorage)); }, token: PersonService, providedIn: "root" });
25488
25471
  PersonService.decorators = [
25489
25472
  { type: Injectable, args: [{ providedIn: 'root' },] }
25490
25473
  ];
@@ -25515,7 +25498,7 @@ class PersonValidatorService {
25515
25498
  return this.formBuilder.group(formConfig);
25516
25499
  }
25517
25500
  }
25518
- PersonValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
25501
+ PersonValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
25519
25502
  PersonValidatorService.decorators = [
25520
25503
  { type: Injectable, args: [{ providedIn: 'root' },] }
25521
25504
  ];
@@ -25709,16 +25692,16 @@ AdminModule.decorators = [
25709
25692
  ];
25710
25693
  AdminModule.ctorParameters = () => [];
25711
25694
 
25712
- const ɵ0 = {
25695
+ const ɵ0$c = {
25713
25696
  profile: 'ADMIN'
25714
25697
  };
25715
- const routes$5 = [
25698
+ const routes = [
25716
25699
  {
25717
25700
  path: 'users',
25718
25701
  pathMatch: 'full',
25719
25702
  component: UsersPage,
25720
25703
  canActivate: [AuthGuardService],
25721
- data: ɵ0
25704
+ data: ɵ0$c
25722
25705
  }
25723
25706
  ];
25724
25707
  class AdminRoutingModule {
@@ -25728,33 +25711,33 @@ AdminRoutingModule.decorators = [
25728
25711
  imports: [
25729
25712
  SharedRoutingModule,
25730
25713
  AdminModule,
25731
- RouterModule.forChild(routes$5)
25714
+ RouterModule.forChild(routes)
25732
25715
  ],
25733
25716
  exports: [RouterModule]
25734
25717
  },] }
25735
25718
  ];
25736
25719
 
25737
- const ErrorCodes = {
25720
+ const ErrorCodes$2 = {
25738
25721
  LOAD_PERSONS_ERROR: 100,
25739
25722
  SAVE_PERSONS_ERROR: 101,
25740
25723
  DELETE_PERSONS_ERROR: 102,
25741
25724
  };
25742
25725
 
25743
- class EntityTestClass$1 {
25726
+ class EntityTestClass {
25744
25727
  }
25745
- const FAKE_ENTITIES$1 = [
25728
+ const FAKE_ENTITIES = [
25746
25729
  { id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
25747
25730
  { id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
25748
25731
  { id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
25749
25732
  ];
25750
- function deepCopy$1(values, size) {
25733
+ function deepCopy(values, size) {
25751
25734
  if (isNil(size)) {
25752
- return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
25735
+ return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
25753
25736
  }
25754
25737
  let result = [];
25755
25738
  let i = 1;
25756
25739
  while (result.length < size) {
25757
- result = result.concat((values || FAKE_ENTITIES$1).map(entity => {
25740
+ result = result.concat((values || FAKE_ENTITIES).map(entity => {
25758
25741
  const name = entity.name + ' #' + i;
25759
25742
  return Object.assign(Object.assign({}, entity), { id: i++, name });
25760
25743
  }));
@@ -25764,7 +25747,7 @@ function deepCopy$1(values, size) {
25764
25747
  class AutocompleteTestPage {
25765
25748
  constructor(formBuilder) {
25766
25749
  this.formBuilder = formBuilder;
25767
- this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
25750
+ this._items = deepCopy(FAKE_ENTITIES, 100);
25768
25751
  this._$items = new BehaviorSubject(undefined);
25769
25752
  this.autocompleteFields = new MatAutocompleteConfigHolder();
25770
25753
  this.memoryHide = false;
@@ -25808,7 +25791,7 @@ class AutocompleteTestPage {
25808
25791
  });
25809
25792
  // From items
25810
25793
  this.autocompleteFields.add('entity-items-large', {
25811
- items: FAKE_ENTITIES$1.slice(),
25794
+ items: FAKE_ENTITIES.slice(),
25812
25795
  attributes: ['label', 'name', 'description', 'comments'],
25813
25796
  displayWith: this.entityToString
25814
25797
  });
@@ -25818,12 +25801,12 @@ class AutocompleteTestPage {
25818
25801
  loadData() {
25819
25802
  return __awaiter(this, void 0, void 0, function* () {
25820
25803
  const data = {
25821
- entity: deepCopy$1(FAKE_ENTITIES$1)[0],
25804
+ entity: deepCopy(FAKE_ENTITIES)[0],
25822
25805
  // This item is NOT in the items list => i should be displayed anyway
25823
25806
  missingEntity: {
25824
25807
  id: -1, label: '??', name: 'Missing item'
25825
25808
  },
25826
- disableEntity: deepCopy$1(FAKE_ENTITIES$1)[2]
25809
+ disableEntity: deepCopy(FAKE_ENTITIES)[2]
25827
25810
  };
25828
25811
  this.form.setValue(data);
25829
25812
  // Load observables
@@ -25966,13 +25949,13 @@ LatLongTestPage.ctorParameters = () => [
25966
25949
  { type: FormBuilder }
25967
25950
  ];
25968
25951
 
25969
- const moment$2 = momentImported;
25952
+ const moment$5 = momentImported;
25970
25953
  class SwipeTestPage {
25971
25954
  constructor(formBuilder, dateFormatPipe) {
25972
25955
  this.formBuilder = formBuilder;
25973
25956
  this.dateFormatPipe = dateFormatPipe;
25974
25957
  this.$dates = new BehaviorSubject(undefined);
25975
- this._today = moment$2().startOf('day');
25958
+ this._today = moment$5().startOf('day');
25976
25959
  this.form = formBuilder.group({
25977
25960
  empty: [null, Validators.required],
25978
25961
  date: [null, Validators.compose([Validators.required, SharedValidators.validDate])],
@@ -25985,7 +25968,7 @@ class SwipeTestPage {
25985
25968
  ngOnInit() {
25986
25969
  const dates = [];
25987
25970
  for (let d = 0; d < 7; d++) {
25988
- dates[d] = moment$2(this._today).add(d - 3, 'day');
25971
+ dates[d] = moment$5(this._today).add(d - 3, 'day');
25989
25972
  }
25990
25973
  this.$dates.next(dates);
25991
25974
  this.loadData();
@@ -26026,7 +26009,7 @@ SwipeTestPage.ctorParameters = () => [
26026
26009
  { type: DateFormatPipe }
26027
26010
  ];
26028
26011
 
26029
- const moment$1 = momentImported;
26012
+ const moment$6 = momentImported;
26030
26013
  class DateTimeTestPage {
26031
26014
  constructor(platform, formBuilder, cd) {
26032
26015
  this.platform = platform;
@@ -26058,7 +26041,7 @@ class DateTimeTestPage {
26058
26041
  // Load the form with data
26059
26042
  loadData() {
26060
26043
  return __awaiter(this, void 0, void 0, function* () {
26061
- const now = moment$1();
26044
+ const now = moment$6();
26062
26045
  const data = {
26063
26046
  empty: toDateISOString(now.clone().add(2, 'hours')),
26064
26047
  enable: toDateISOString(now),
@@ -26119,9 +26102,9 @@ DateTimeTestPage.ctorParameters = () => [
26119
26102
  { type: ChangeDetectorRef }
26120
26103
  ];
26121
26104
 
26122
- class EntityTestClass {
26105
+ class EntityTestClass$1 {
26123
26106
  }
26124
- const FAKE_ENTITIES = [
26107
+ const FAKE_ENTITIES$1 = [
26125
26108
  { id: 1, label: 'AAA', name: 'Item A' },
26126
26109
  { id: 2, label: 'BBB', name: 'Item B' },
26127
26110
  { id: 3, label: 'CCC', name: 'Item C' },
@@ -26130,14 +26113,14 @@ const FAKE_ENTITIES = [
26130
26113
  { id: 6, label: 'FFF', name: 'Item F' },
26131
26114
  { id: 7, label: 'GGG', name: 'Item G' }
26132
26115
  ];
26133
- function deepCopy(values, size) {
26116
+ function deepCopy$1(values, size) {
26134
26117
  if (isNil(size)) {
26135
- return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
26118
+ return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
26136
26119
  }
26137
26120
  let result = [];
26138
26121
  let i = 1;
26139
26122
  while (result.length < size) {
26140
- result = result.concat((values || FAKE_ENTITIES).map(entity => {
26123
+ result = result.concat((values || FAKE_ENTITIES$1).map(entity => {
26141
26124
  const name = entity.name + ' #' + i;
26142
26125
  return Object.assign(Object.assign({}, entity), { id: i++, name });
26143
26126
  }));
@@ -26147,7 +26130,7 @@ function deepCopy(values, size) {
26147
26130
  class ChipsTestPage {
26148
26131
  constructor(formBuilder) {
26149
26132
  this.formBuilder = formBuilder;
26150
- this._items = deepCopy(FAKE_ENTITIES, 100);
26133
+ this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
26151
26134
  this._$items = new BehaviorSubject(undefined);
26152
26135
  this.autocompleteFields = new MatAutocompleteConfigHolder();
26153
26136
  this.form = formBuilder.group({
@@ -26186,7 +26169,7 @@ class ChipsTestPage {
26186
26169
  // Load the form with data
26187
26170
  loadData() {
26188
26171
  return __awaiter(this, void 0, void 0, function* () {
26189
- const items = deepCopy(FAKE_ENTITIES);
26172
+ const items = deepCopy$1(FAKE_ENTITIES$1);
26190
26173
  const data = {
26191
26174
  entity: items.slice(0, 1),
26192
26175
  entityInitial: items.slice(1, 2),
@@ -26302,7 +26285,7 @@ NumpadTestPage.ctorParameters = () => [
26302
26285
  { type: FormBuilder }
26303
26286
  ];
26304
26287
 
26305
- const moment = momentImported;
26288
+ const moment$7 = momentImported;
26306
26289
  class DateTestPage {
26307
26290
  constructor(platform, formBuilder, cd) {
26308
26291
  this.platform = platform;
@@ -26336,7 +26319,7 @@ class DateTestPage {
26336
26319
  // Load the form with data
26337
26320
  loadData() {
26338
26321
  return __awaiter(this, void 0, void 0, function* () {
26339
- const now = moment();
26322
+ const now = moment$7();
26340
26323
  const nowAtMahe = now.clone().tz(this.timezone).startOf('day');
26341
26324
  const data = {
26342
26325
  empty: toDateISOString(now.clone().add(2, 'hours')),
@@ -26414,7 +26397,7 @@ const SHARED_MATERIAL_TESTING_PAGES = [
26414
26397
  { label: 'Shared directives', divider: true },
26415
26398
  { label: 'Badge icon directive', page: '/testing/shared/badge-icon' }
26416
26399
  ];
26417
- const routes$4 = [
26400
+ const routes$1 = [
26418
26401
  {
26419
26402
  path: '',
26420
26403
  pathMatch: 'full',
@@ -26471,7 +26454,7 @@ MaterialTestingModule.decorators = [
26471
26454
  ReactiveFormsModule,
26472
26455
  SharedMaterialModule,
26473
26456
  TranslateModule.forChild(),
26474
- RouterModule.forChild(routes$4)
26457
+ RouterModule.forChild(routes$1)
26475
26458
  ],
26476
26459
  declarations: [
26477
26460
  DateTimeTestPage,
@@ -26532,7 +26515,7 @@ ToastTestingPage.ctorParameters = () => [
26532
26515
  { type: TranslateService }
26533
26516
  ];
26534
26517
 
26535
- const routes$3 = [
26518
+ const routes$2 = [
26536
26519
  {
26537
26520
  path: 'toast',
26538
26521
  pathMatch: 'full',
@@ -26547,7 +26530,7 @@ ToastTestingModule.decorators = [
26547
26530
  CommonModule,
26548
26531
  IonicModule,
26549
26532
  TranslateModule.forChild(),
26550
- RouterModule.forChild(routes$3)
26533
+ RouterModule.forChild(routes$2)
26551
26534
  ],
26552
26535
  declarations: [
26553
26536
  ToastTestingPage
@@ -26610,7 +26593,7 @@ UploadFileTestingPage.ctorParameters = () => [
26610
26593
  { type: PopoverController }
26611
26594
  ];
26612
26595
 
26613
- const routes$2 = [
26596
+ const routes$3 = [
26614
26597
  {
26615
26598
  path: 'upload-file',
26616
26599
  pathMatch: 'full',
@@ -26625,7 +26608,7 @@ UploadFileTestingModule.decorators = [
26625
26608
  CommonModule,
26626
26609
  IonicModule,
26627
26610
  TranslateModule.forChild(),
26628
- RouterModule.forChild(routes$2)
26611
+ RouterModule.forChild(routes$3)
26629
26612
  ],
26630
26613
  declarations: [
26631
26614
  UploadFileTestingPage
@@ -27006,7 +26989,7 @@ TextPopoverTestingPage.ctorParameters = () => [
27006
26989
  { type: PopoverController }
27007
26990
  ];
27008
26991
 
27009
- const routes$1 = [
26992
+ const routes$4 = [
27010
26993
  {
27011
26994
  path: 'text-popover',
27012
26995
  pathMatch: 'full',
@@ -27021,7 +27004,7 @@ TextPopoverTestingModule.decorators = [
27021
27004
  CommonModule,
27022
27005
  IonicModule,
27023
27006
  TranslateModule.forChild(),
27024
- RouterModule.forChild(routes$1)
27007
+ RouterModule.forChild(routes$4)
27025
27008
  ],
27026
27009
  declarations: [
27027
27010
  TextPopoverTestingPage
@@ -27038,7 +27021,7 @@ const CORE_TESTING_PAGES = [
27038
27021
  { label: 'Table', page: '/testing/core/table' },
27039
27022
  { label: 'Text popover', page: '/testing/core/text-popover' }
27040
27023
  ];
27041
- const routes = [
27024
+ const routes$5 = [
27042
27025
  {
27043
27026
  path: '',
27044
27027
  pathMatch: 'full',
@@ -27062,7 +27045,7 @@ CoreTestingModule.decorators = [
27062
27045
  imports: [
27063
27046
  CommonModule,
27064
27047
  TranslateModule.forChild(),
27065
- RouterModule.forChild(routes),
27048
+ RouterModule.forChild(routes$5),
27066
27049
  // Sub modules
27067
27050
  TableTestingModule,
27068
27051
  TextPopoverTestingModule
@@ -27082,5 +27065,5 @@ CoreTestingModule.decorators = [
27082
27065
  * Generated bundle index. Do not edit.
27083
27066
  */
27084
27067
 
27085
- 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, AndroidOsEnvironment, 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, CORE_TESTING_PAGES, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CoreTestingModule, 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, DragAndDropDirective, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes, EvenPipe, FileResponse, FileService, FileSizePipe, FilesUtils, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, FormGetArrayPipe, FormGetControlPipe, FormGetGroupPipe, FormGetPipe, 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, MatBadgeIconDirective, MatBooleanField, MatChipsField, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatNumpadComponent, MatNumpadContainerComponent, MatNumpadContent, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialTestingModule, 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, ReferentialFilter, ReferentialRef, ReferentialUtils, ReferentialValidatorService, RegisterConfirmPage, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SHARED_MATERIAL_TESTING_PAGES, SHARED_TESTING_PAGES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, SettingsPage, SharedAsyncValidators, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBadgeIconModule, SharedMatBooleanModule, SharedMatChipsModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedTestsPage, SharedValidators, SocialModule, Software, StartableService, StatusById, StatusIds, StatusList, StrIncludesPipe, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, TableTestPage, TableTestingModule, TextForm, TextPopover, TextPopoverTestingModule, TextPopoverTestingPage, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UploadFile, UploadFileComponent, UploadFilePopover, UploadFileTestingModule, UploadFileTestingPage, 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, isAndroid, isControlHasInput, isCordova, isEmptyArray, isIOS, isInputElement, isInstanceOf, isInt, isMobile, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, isProgressEvent, isResponseEvent, isTouchUi, isWindows, joinProperties, joinPropertiesPath, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchMedia, 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, testUserAgent, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, uncapitalizeFirstLetter, updateValueAndValidity, waitFor, waitForTrue, waitIdle, waitWhilePending, ɵ0$b as ɵ0, CustomReuseStrategy as ɵa, MatNumpadDomService as ɵb, isFocusableElement as ɵc, RegisterForm as ɵd, AccountValidatorService as ɵe, RegisterModal as ɵf, UserSettingsValidatorService as ɵg, LocalSettingsValidatorService as ɵh, AppIconComponent as ɵi, DateTestPage as ɵj, NumpadTestPage as ɵk, MatBadgeIconTestPage as ɵl, ToastTestingModule as ɵm, ToastTestingPage as ɵn };
27068
+ 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, AndroidOsEnvironment, 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, CORE_TESTING_PAGES, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CoreTestingModule, 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, DragAndDropDirective, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes$2 as ErrorCodes, EvenPipe, FileResponse, FileService, FileSizePipe, FilesUtils, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, FormGetArrayPipe, FormGetControlPipe, FormGetGroupPipe, FormGetPipe, 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, MatBadgeIconDirective, MatBooleanField, MatChipsField, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatNumpadComponent, MatNumpadContainerComponent, MatNumpadContent, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialTestingModule, 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, ReferentialFilter, ReferentialRef, ReferentialUtils, ReferentialValidatorService, RegisterConfirmPage, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SHARED_MATERIAL_TESTING_PAGES, SHARED_TESTING_PAGES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, SettingsPage, SharedAsyncValidators, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBadgeIconModule, SharedMatBooleanModule, SharedMatChipsModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedTestsPage, SharedValidators, SocialModule, Software, StartableService, StatusById, StatusIds, StatusList, StrIncludesPipe, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, TableTestPage, TableTestingModule, TextForm, TextPopover, TextPopoverTestingModule, TextPopoverTestingPage, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UploadFile, UploadFileComponent, UploadFilePopover, UploadFileTestingModule, UploadFileTestingPage, 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, isAndroid, isControlHasInput, isCordova, isEmptyArray, isIOS, isInputElement, isInstanceOf, isInt, isMobile, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, isProgressEvent, isResponseEvent, isTouchUi, isWindows, joinProperties, joinPropertiesPath, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchMedia, 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, testUserAgent, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, uncapitalizeFirstLetter, updateValueAndValidity, waitFor, waitForTrue, waitIdle, waitWhilePending, ɵ0$1 as ɵ0, CustomReuseStrategy as ɵa, MatNumpadDomService as ɵb, isFocusableElement as ɵc, RegisterForm as ɵd, AccountValidatorService as ɵe, RegisterModal as ɵf, UserSettingsValidatorService as ɵg, LocalSettingsValidatorService as ɵh, AppIconComponent as ɵi, DateTestPage as ɵj, NumpadTestPage as ɵk, MatBadgeIconTestPage as ɵl, ToastTestingModule as ɵm, ToastTestingPage as ɵn };
27086
27069
  //# sourceMappingURL=sumaris-net.ngx-components.js.map