@sumaris-net/ngx-components 1.6.7 → 1.6.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,9 @@
1
- import * as i0 from '@angular/core';
2
- import { InjectionToken, EventEmitter, Component, forwardRef, ChangeDetectionStrategy, ChangeDetectorRef, Optional, Input, Output, ViewChild, Pipe, Injectable, Directive, Inject, NgModule, ElementRef, ViewChildren, HostListener, ComponentFactoryResolver, ApplicationRef, Injector, Renderer2, ViewEncapsulation } from '@angular/core';
3
- import * as i1$3 from '@angular/common';
1
+ import { InjectionToken, EventEmitter, Component, forwardRef, ChangeDetectionStrategy, ChangeDetectorRef, Optional, Input, Output, ViewChild, ɵɵdefineInjectable, ɵɵinject, Pipe, Injectable, Directive, Inject, NgModule, ElementRef, ViewChildren, HostListener, ComponentFactoryResolver, ApplicationRef, INJECTOR, Injector, Renderer2, ViewEncapsulation } from '@angular/core';
4
2
  import { CommonModule, DOCUMENT, Location } from '@angular/common';
5
3
  import { CdkTableModule } from '@angular/cdk/table';
6
4
  import { A11yModule } from '@angular/cdk/a11y';
7
5
  import { OverlayModule, OverlayContainer, FullscreenOverlayContainer, Overlay } from '@angular/cdk/overlay';
8
6
  import { ScrollingModule } from '@angular/cdk/scrolling';
9
- import * as i1$2 from '@angular/material/core';
10
7
  import { DateAdapter, MatCommonModule, MatRippleModule } from '@angular/material/core';
11
8
  import { MatTableModule, MatTable, MatColumnDef } from '@angular/material/table';
12
9
  import { MatSortModule, MatSort } from '@angular/material/sort';
@@ -30,21 +27,16 @@ import { MatProgressBarModule } from '@angular/material/progress-bar';
30
27
  import { MatRadioModule } from '@angular/material/radio';
31
28
  import { MatBadgeModule } from '@angular/material/badge';
32
29
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
33
- import * as i2$1 from '@angular/material/dialog';
34
30
  import { MatDialogModule, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';
35
31
  import { MatAutocomplete, MatAutocompleteTrigger, MatAutocompleteModule, MAT_AUTOCOMPLETE_SCROLL_STRATEGY, MAT_AUTOCOMPLETE_DEFAULT_OPTIONS } from '@angular/material/autocomplete';
36
32
  import { __awaiter, __decorate } from 'tslib';
37
- import * as i1$6 from '@angular/forms';
38
33
  import { NG_VALUE_ACCESSOR, FormGroupDirective, AbstractControl, FormGroup, FormArray, FormControl, ReactiveFormsModule, Validators, FormBuilder } from '@angular/forms';
39
34
  import { timer, merge, fromEvent, BehaviorSubject, Subscription, Subject, isObservable, noop as noop$9, Observable, defer, of, from, combineLatest, EMPTY } from 'rxjs';
40
35
  import { filter, first, map, takeUntil, switchMap, startWith, debounceTime, takeWhile, tap, distinctUntilChanged, mergeMap, catchError, throttleTime, skip } from 'rxjs/operators';
41
- import * as i1$1 from '@ngx-translate/core';
42
36
  import { TranslateService, TranslateModule } from '@ngx-translate/core';
43
- import * as i1$4 from '@ionic/angular';
44
37
  import { IonicModule, Platform, IonRouterOutlet, ModalController, IonicSafeString, createAnimation, ToastController, AlertController, IonicRouteStrategy, NavParams, MenuController, IonContent } from '@ionic/angular';
45
38
  import * as momentImported from 'moment';
46
39
  import { isMoment } from 'moment';
47
- import * as i1 from '@angular/material-moment-adapter';
48
40
  import { MomentDateAdapter, MatMomentDateModule } from '@angular/material-moment-adapter';
49
41
  import { Keyboard } from '@ionic-native/keyboard/ngx';
50
42
  import { TextMaskModule } from 'angular2-text-mask';
@@ -54,38 +46,32 @@ import { trigger, state, style, transition, animate } from '@angular/animations'
54
46
  import { MatDividerModule } from '@angular/material/divider';
55
47
  import { MatTooltipModule } from '@angular/material/tooltip';
56
48
  import { MatChipsModule } from '@angular/material/chips';
57
- import * as i3$3 from '@angular/router';
58
49
  import { Router, RouterModule, RouteReuseStrategy, ActivatedRoute } from '@angular/router';
59
- import * as i1$5 from '@angular/platform-browser';
60
50
  import { HammerGestureConfig, EventManager } from '@angular/platform-browser';
61
- import * as i2$2 from '@angular/common/http';
62
51
  import { HttpResponse, HttpClient, HttpHeaders, HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
63
52
  import { ColorPickerModule } from 'ngx-color-picker';
64
- import { NativeAudio } from '@ionic-native/native-audio/ngx';
65
- import { Vibration } from '@ionic-native/vibration/ngx';
53
+ import { NativeAudio as NativeAudio$1 } from '@ionic-native/native-audio/ngx';
54
+ import { Vibration as Vibration$1 } from '@ionic-native/vibration/ngx';
66
55
  import { AudioManagement } from '@ionic-native/audio-management/ngx';
67
- import * as i2 from '@ionic-native/native-audio/ngx/index';
68
- import * as i3 from '@ionic-native/vibration/ngx/index';
69
- import * as i4 from '@ionic-native/audio-management/ngx/index';
56
+ import { NativeAudio } from '@ionic-native/native-audio/ngx/index';
57
+ import { Vibration } from '@ionic-native/vibration/ngx/index';
58
+ import { AudioManagement as AudioManagement$1 } from '@ionic-native/audio-management/ngx/index';
70
59
  import * as uuidv4Imported from 'uuid/v4';
71
60
  import { DragDropModule } from '@angular/cdk/drag-drop';
72
61
  import { MarkdownModule } from 'ngx-markdown';
73
62
  import { sign, box, hash, verify } from 'tweetnacl';
74
- import * as i3$1 from '@ionic/storage';
75
63
  import { Storage, IonicStorageModule } from '@ionic/storage';
76
64
  import 'zone.js/dist/zone-error';
77
- import { SplashScreen } from '@ionic-native/splash-screen/ngx';
78
- import { Connection, Network } from '@ionic-native/network/ngx';
79
- import { CacheService, CacheModule } from 'ionic-cache';
80
- import * as i6 from 'ionic-cache/dist/cache.service';
81
- import * as i9 from '@ionic-native/network/ngx/index';
82
- import * as i10 from '@ionic-native/splash-screen/ngx/index';
83
- import { StatusBar } from '@ionic-native/status-bar/ngx';
84
- import * as i2$4 from '@angular/cdk/platform';
65
+ import { SplashScreen as SplashScreen$1 } from '@ionic-native/splash-screen/ngx';
66
+ import { Connection, Network as Network$1 } from '@ionic-native/network/ngx';
67
+ import { CacheService as CacheService$1, CacheModule } from 'ionic-cache';
68
+ import { CacheService } from 'ionic-cache/dist/cache.service';
69
+ import { Network } from '@ionic-native/network/ngx/index';
70
+ import { SplashScreen } from '@ionic-native/splash-screen/ngx/index';
71
+ import { StatusBar as StatusBar$1 } from '@ionic-native/status-bar/ngx';
85
72
  import { Platform as Platform$1 } from '@angular/cdk/platform';
86
- import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
73
+ import { InAppBrowser as InAppBrowser$1 } from '@ionic-native/in-app-browser/ngx';
87
74
  import { ApolloLink, NetworkStatus, InMemoryCache, ApolloClient, gql } from '@apollo/client/core';
88
- import * as i2$3 from 'apollo-angular';
89
75
  import { Apollo } from 'apollo-angular';
90
76
  import { WebSocketLink } from '@apollo/client/link/ws';
91
77
  import { getMainDefinition } from '@apollo/client/utilities';
@@ -93,14 +79,13 @@ import { RetryLink } from '@apollo/client/link/retry';
93
79
  import QueueLink from 'apollo-link-queue';
94
80
  import SerializingLink from 'apollo-link-serialize';
95
81
  import loggerLink from 'apollo-link-logger';
96
- import * as i3$2 from 'apollo-angular/http';
97
82
  import { HttpLink } from 'apollo-angular/http';
98
83
  import { IonicStorageWrapper, persistCache } from 'apollo3-cache-persist';
99
- import { NotificationVisibility, Downloader } from '@ionic-native/downloader/ngx';
100
- import * as i14 from '@ionic-native/status-bar/ngx/index';
101
- import * as i15 from '@ionic-native/keyboard/ngx/index';
102
- import * as i17 from '@ionic-native/in-app-browser/ngx/index';
103
- import * as i18 from '@ionic-native/downloader/ngx/index';
84
+ import { NotificationVisibility, Downloader as Downloader$1 } from '@ionic-native/downloader/ngx';
85
+ import { StatusBar } from '@ionic-native/status-bar/ngx/index';
86
+ import { Keyboard as Keyboard$1 } from '@ionic-native/keyboard/ngx/index';
87
+ import { InAppBrowser } from '@ionic-native/in-app-browser/ngx/index';
88
+ import { Downloader } from '@ionic-native/downloader/ngx/index';
104
89
  import { ValidatorService, TableDataSource } from '@e-is/ngx-material-table';
105
90
  import { SelectionModel } from '@angular/cdk/collections';
106
91
  import { NgxJdenticonModule } from 'ngx-jdenticon';
@@ -991,14 +976,14 @@ class MatAutocompleteConfigHolder {
991
976
  return this.fields[fieldName] || this.add(fieldName);
992
977
  }
993
978
  }
994
- const noop$8 = (_) => { };
995
- const ɵ0$b = noop$8;
979
+ const noop = (_) => { };
980
+ const ɵ0 = noop;
996
981
  class MatAutocompleteField {
997
982
  constructor(cd, formGroupDir) {
998
983
  this.cd = cd;
999
984
  this.formGroupDir = formGroupDir;
1000
- this._onChangeCallback = noop$8;
1001
- this._onTouchedCallback = noop$8;
985
+ this._onChangeCallback = noop;
986
+ this._onTouchedCallback = noop;
1002
987
  this.logPrefix = '[mat-autocomplete] ';
1003
988
  this.formControlName = null;
1004
989
  this.required = false;
@@ -1715,7 +1700,7 @@ class DateFormatPipe {
1715
1700
  return this.dateAdapter.format(date, displayFormat);
1716
1701
  }
1717
1702
  }
1718
- DateFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(i0.ɵɵinject(i1.MomentDateAdapter), i0.ɵɵinject(i1$1.TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
1703
+ DateFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(ɵɵinject(MomentDateAdapter), ɵɵinject(TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
1719
1704
  DateFormatPipe.decorators = [
1720
1705
  { type: Pipe, args: [{
1721
1706
  name: 'dateFormat'
@@ -1727,7 +1712,7 @@ DateFormatPipe.ctorParameters = () => [
1727
1712
  { type: TranslateService }
1728
1713
  ];
1729
1714
 
1730
- const moment$6 = momentImported;
1715
+ const moment = momentImported;
1731
1716
  class DateDiffDurationPipe {
1732
1717
  constructor(dateAdapter, translate) {
1733
1718
  this.dateAdapter = dateAdapter;
@@ -1743,17 +1728,17 @@ class DateDiffDurationPipe {
1743
1728
  return this.format(startDate, endDate);
1744
1729
  }
1745
1730
  format(startDate, endDate) {
1746
- const duration = moment$6.duration(endDate.diff(startDate));
1731
+ const duration = moment.duration(endDate.diff(startDate));
1747
1732
  if (duration.asMinutes() < 0)
1748
1733
  return '';
1749
- const timeDuration = moment$6(0)
1734
+ const timeDuration = moment(0)
1750
1735
  .hour(duration.hours())
1751
1736
  .minute(duration.minutes());
1752
1737
  const days = Math.floor(duration.asDays());
1753
1738
  return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + timeDuration.format('HH:mm');
1754
1739
  }
1755
1740
  }
1756
- 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" });
1741
+ DateDiffDurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateDiffDurationPipe_Factory() { return new DateDiffDurationPipe(ɵɵinject(DateAdapter), ɵɵinject(TranslateService)); }, token: DateDiffDurationPipe, providedIn: "root" });
1757
1742
  DateDiffDurationPipe.decorators = [
1758
1743
  { type: Pipe, args: [{
1759
1744
  name: 'dateDiffDuration'
@@ -1774,7 +1759,7 @@ class DateFromNowPipe {
1774
1759
  return date ? date.fromNow(args && args.withoutSuffix) : '';
1775
1760
  }
1776
1761
  }
1777
- DateFromNowPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(i0.ɵɵinject(i1.MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
1762
+ DateFromNowPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(ɵɵinject(MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
1778
1763
  DateFromNowPipe.decorators = [
1779
1764
  { type: Pipe, args: [{
1780
1765
  name: 'dateFromNow'
@@ -1843,7 +1828,7 @@ function formatToDD(value, opts) {
1843
1828
  value *= -1;
1844
1829
  }
1845
1830
  }
1846
- let degrees = roundFloat$1(value, opts.maxDecimals).toString();
1831
+ let degrees = roundFloat(value, opts.maxDecimals).toString();
1847
1832
  // Add sign
1848
1833
  let sign = negative ? '-' : '+';
1849
1834
  if (opts.placeholderChar) {
@@ -1894,7 +1879,7 @@ function formatToDDMMSS(value, opts) {
1894
1879
  }
1895
1880
  let degrees = Math.trunc(value);
1896
1881
  let minutes = Math.trunc((value - degrees) * 60);
1897
- let seconds = roundFloat$1(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
1882
+ let seconds = roundFloat(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
1898
1883
  while (seconds >= 60) {
1899
1884
  seconds -= 60;
1900
1885
  minutes += 1;
@@ -1962,7 +1947,7 @@ function formatToDDMM(value, opts) {
1962
1947
  }
1963
1948
  }
1964
1949
  let degrees = Math.trunc(value);
1965
- let minutes = roundFloat$1((value - degrees) * 60, opts.maxDecimals);
1950
+ let minutes = roundFloat((value - degrees) * 60, opts.maxDecimals);
1966
1951
  while (minutes >= 60) {
1967
1952
  minutes -= 60;
1968
1953
  degrees += 1;
@@ -2013,15 +1998,15 @@ function parseLatitudeOrLongitude(input, pattern, maxDecimals, placeholderChar)
2013
1998
  return NaN;
2014
1999
  }
2015
2000
  if (pattern === 'DD')
2016
- return roundFloat$1(degrees, maxDecimals);
2001
+ return roundFloat(degrees, maxDecimals);
2017
2002
  const minutes = (pattern === 'DDMMSS' || pattern === 'DDMM') && parts[1] && parseFloat(parts[1].replace(/,/g, '.')) || 0;
2018
2003
  const seconds = (pattern === 'DDMMSS') && parts[2] && parseFloat(parts[2].replace(/,/g, '.')) || 0;
2019
2004
  const direction = ((pattern === 'DDMMSS') && parts[3]) || ((pattern === 'DDMM') && parts[2]) || undefined;
2020
2005
  const sign = (direction && (direction === 's' || direction === 'S' || direction === 'w' || direction === 'W')) ? -1 : 1;
2021
2006
  degrees = sign * (degrees + minutes / 60 + seconds / (60 * 60));
2022
- return roundFloat$1(degrees, maxDecimals);
2007
+ return roundFloat(degrees, maxDecimals);
2023
2008
  }
2024
- function roundFloat$1(input, maxDecimals) {
2009
+ function roundFloat(input, maxDecimals) {
2025
2010
  if (maxDecimals > 0) {
2026
2011
  const powDecimal = Math.pow(10, maxDecimals);
2027
2012
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -2041,7 +2026,7 @@ class LatLongFormatPipe {
2041
2026
  return ((!args.type || args.type !== 'latitude') ? formatLongitude : formatLatitude)(value, args);
2042
2027
  }
2043
2028
  }
2044
- LatLongFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
2029
+ LatLongFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
2045
2030
  LatLongFormatPipe.decorators = [
2046
2031
  { type: Pipe, args: [{
2047
2032
  name: 'latLongFormat'
@@ -2053,7 +2038,7 @@ class LatitudeFormatPipe {
2053
2038
  this.transform = formatLatitude;
2054
2039
  }
2055
2040
  }
2056
- LatitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
2041
+ LatitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
2057
2042
  LatitudeFormatPipe.decorators = [
2058
2043
  { type: Pipe, args: [{
2059
2044
  name: 'latitudeFormat'
@@ -2065,7 +2050,7 @@ class LongitudeFormatPipe {
2065
2050
  this.transform = formatLongitude;
2066
2051
  }
2067
2052
  }
2068
- LongitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
2053
+ LongitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
2069
2054
  LongitudeFormatPipe.decorators = [
2070
2055
  { type: Pipe, args: [{
2071
2056
  name: 'longitudeFormat'
@@ -2085,7 +2070,7 @@ class NumberFormatPipe {
2085
2070
  }
2086
2071
  }
2087
2072
  }
2088
- NumberFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
2073
+ NumberFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
2089
2074
  NumberFormatPipe.decorators = [
2090
2075
  { type: Pipe, args: [{
2091
2076
  name: 'numberFormat'
@@ -2125,7 +2110,7 @@ class HighlightPipe {
2125
2110
  }
2126
2111
  }
2127
2112
  }
2128
- HighlightPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
2113
+ HighlightPipe.ɵprov = ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
2129
2114
  HighlightPipe.decorators = [
2130
2115
  { type: Pipe, args: [{
2131
2116
  name: 'highlight'
@@ -2190,7 +2175,7 @@ FileSizePipe.decorators = [
2190
2175
  { type: Pipe, args: [{ name: 'fileSize' },] }
2191
2176
  ];
2192
2177
 
2193
- const moment$5 = momentImported;
2178
+ const moment$1 = momentImported;
2194
2179
  const DATE_UNIX_TIMESTAMP = 'X';
2195
2180
  const DATE_UNIX_MS_TIMESTAMP = 'x';
2196
2181
  class DateUtils {
@@ -2232,32 +2217,32 @@ function fromDateISOString(value) {
2232
2217
  if (!value || isMoment(value))
2233
2218
  return value;
2234
2219
  // Parse the input value, as a ISO date time
2235
- const date = moment$5(value, DATE_ISO_PATTERN);
2220
+ const date = moment$1(value, DATE_ISO_PATTERN);
2236
2221
  if (date.isValid())
2237
2222
  return date;
2238
2223
  // Not valid: trying to convert from unix timestamp
2239
2224
  if (typeof value === 'string') {
2240
2225
  console.warn('Wrong date format - Trying to convert from local time: ' + value);
2241
2226
  if (value.length === 10) {
2242
- return moment$5(value, DATE_UNIX_TIMESTAMP);
2227
+ return moment$1(value, DATE_UNIX_TIMESTAMP);
2243
2228
  }
2244
2229
  else if (value.length === 13) {
2245
- return moment$5(value, DATE_UNIX_MS_TIMESTAMP);
2230
+ return moment$1(value, DATE_UNIX_MS_TIMESTAMP);
2246
2231
  }
2247
2232
  }
2248
2233
  console.warn('Unable to parse date: ' + value);
2249
2234
  return undefined;
2250
2235
  }
2251
2236
  function fromUnixTimestamp(timeInSec) {
2252
- return moment$5(timeInSec, DATE_UNIX_TIMESTAMP);
2237
+ return moment$1(timeInSec, DATE_UNIX_TIMESTAMP);
2253
2238
  }
2254
2239
  function fromUnixMsTimestamp(timeInMs) {
2255
- return moment$5(timeInMs, DATE_UNIX_MS_TIMESTAMP);
2240
+ return moment$1(timeInMs, DATE_UNIX_MS_TIMESTAMP);
2256
2241
  }
2257
2242
  function toDuration(value, unit) {
2258
2243
  if (!value)
2259
2244
  return undefined;
2260
- const duration = moment$5.duration(value, unit);
2245
+ const duration = moment$1.duration(value, unit);
2261
2246
  // fix 990+ ms
2262
2247
  if (duration.milliseconds() >= 990) {
2263
2248
  duration.add(1000 - duration.milliseconds(), 'ms');
@@ -2286,7 +2271,7 @@ class DurationPipe {
2286
2271
  return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + hour + ':' + minute;
2287
2272
  }
2288
2273
  }
2289
- DurationPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(i0.ɵɵinject(i1$1.TranslateService)); }, token: DurationPipe, providedIn: "root" });
2274
+ DurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(ɵɵinject(TranslateService)); }, token: DurationPipe, providedIn: "root" });
2290
2275
  DurationPipe.decorators = [
2291
2276
  { type: Pipe, args: [{
2292
2277
  name: 'duration'
@@ -2307,7 +2292,7 @@ class MathAbsPipe {
2307
2292
  }
2308
2293
  }
2309
2294
  }
2310
- MathAbsPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
2295
+ MathAbsPipe.ɵprov = ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
2311
2296
  MathAbsPipe.decorators = [
2312
2297
  { type: Pipe, args: [{
2313
2298
  name: 'mathAbs'
@@ -2319,7 +2304,7 @@ class EvenPipe {
2319
2304
  return val % 2 === 0;
2320
2305
  }
2321
2306
  }
2322
- EvenPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
2307
+ EvenPipe.ɵprov = ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
2323
2308
  EvenPipe.decorators = [
2324
2309
  { type: Pipe, args: [{
2325
2310
  name: 'even'
@@ -2331,7 +2316,7 @@ class OddPipe {
2331
2316
  return val % 2 !== 0;
2332
2317
  }
2333
2318
  }
2334
- OddPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
2319
+ OddPipe.ɵprov = ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
2335
2320
  OddPipe.decorators = [
2336
2321
  { type: Pipe, args: [{
2337
2322
  name: 'odd'
@@ -2439,7 +2424,7 @@ class MapGetPipe {
2439
2424
  return val[key];
2440
2425
  }
2441
2426
  }
2442
- MapGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
2427
+ MapGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
2443
2428
  MapGetPipe.decorators = [
2444
2429
  { type: Pipe, args: [{
2445
2430
  name: 'mapGet'
@@ -2453,7 +2438,7 @@ class MapKeysPipe {
2453
2438
  return Object.keys(map);
2454
2439
  }
2455
2440
  }
2456
- MapKeysPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
2441
+ MapKeysPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
2457
2442
  MapKeysPipe.decorators = [
2458
2443
  { type: Pipe, args: [{
2459
2444
  name: 'mapKeys'
@@ -2467,7 +2452,7 @@ class MapValuesPipe {
2467
2452
  return Object.values(map);
2468
2453
  }
2469
2454
  }
2470
- MapValuesPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
2455
+ MapValuesPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
2471
2456
  MapValuesPipe.decorators = [
2472
2457
  { type: Pipe, args: [{
2473
2458
  name: 'mapValues'
@@ -2480,7 +2465,7 @@ class IsNotNilOrBlankPipe {
2480
2465
  return isNotNilOrBlank(value);
2481
2466
  }
2482
2467
  }
2483
- IsNotNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
2468
+ IsNotNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
2484
2469
  IsNotNilOrBlankPipe.decorators = [
2485
2470
  { type: Pipe, args: [{
2486
2471
  name: 'isNotNilOrBlank'
@@ -2492,7 +2477,7 @@ class IsNilOrBlankPipe {
2492
2477
  return isNilOrBlank(value);
2493
2478
  }
2494
2479
  }
2495
- IsNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
2480
+ IsNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
2496
2481
  IsNilOrBlankPipe.decorators = [
2497
2482
  { type: Pipe, args: [{
2498
2483
  name: 'isNilOrBlank'
@@ -2504,7 +2489,7 @@ class ToStringPipe {
2504
2489
  return (value !== null && value !== undefined) ? value.toString() : '';
2505
2490
  }
2506
2491
  }
2507
- ToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
2492
+ ToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
2508
2493
  ToStringPipe.decorators = [
2509
2494
  { type: Pipe, args: [{
2510
2495
  name: 'toString'
@@ -2516,7 +2501,7 @@ class StrLengthPipe {
2516
2501
  return value && value.length || 0;
2517
2502
  }
2518
2503
  }
2519
- StrLengthPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
2504
+ StrLengthPipe.ɵprov = ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
2520
2505
  StrLengthPipe.decorators = [
2521
2506
  { type: Pipe, args: [{
2522
2507
  name: 'strLength'
@@ -2593,7 +2578,7 @@ class TranslateContextService {
2593
2578
  return translations[keys[keys.length - 1]]; // Return the last keys translation
2594
2579
  }
2595
2580
  }
2596
- TranslateContextService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(i0.ɵɵinject(i1$1.TranslateService)); }, token: TranslateContextService, providedIn: "root" });
2581
+ TranslateContextService.ɵprov = ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(ɵɵinject(TranslateService)); }, token: TranslateContextService, providedIn: "root" });
2597
2582
  TranslateContextService.decorators = [
2598
2583
  { type: Injectable, args: [{ providedIn: 'root' },] }
2599
2584
  ];
@@ -2645,7 +2630,7 @@ class PropertyGetPipe {
2645
2630
  args && args.defaultValue);
2646
2631
  }
2647
2632
  }
2648
- PropertyGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
2633
+ PropertyGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
2649
2634
  PropertyGetPipe.decorators = [
2650
2635
  { type: Pipe, args: [{
2651
2636
  name: 'propertyGet'
@@ -2670,7 +2655,7 @@ NgInitDirective.propDecorators = {
2670
2655
  ngInit: [{ type: Output }]
2671
2656
  };
2672
2657
 
2673
- const moment$4 = momentImported;
2658
+ const moment$2 = momentImported;
2674
2659
  // @dynamic
2675
2660
  class SharedValidators {
2676
2661
  static getDoubleRegexp(maxDecimals) {
@@ -2687,7 +2672,7 @@ class SharedValidators {
2687
2672
  }
2688
2673
  static validDate(control) {
2689
2674
  const value = control.value;
2690
- const date = !value || moment$4.isMoment(value) ? value : moment$4(control.value, DATE_ISO_PATTERN);
2675
+ const date = !value || moment$2.isMoment(value) ? value : moment$2(control.value, DATE_ISO_PATTERN);
2691
2676
  if (date && (!date.isValid() || date.year() < 1970)) {
2692
2677
  return { validDate: true };
2693
2678
  }
@@ -3761,7 +3746,7 @@ class FormErrorTranslator {
3761
3746
  return errorKey;
3762
3747
  }
3763
3748
  }
3764
- 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" });
3749
+ FormErrorTranslator.ɵprov = ɵɵdefineInjectable({ factory: function FormErrorTranslator_Factory() { return new FormErrorTranslator(ɵɵinject(TranslateService), ɵɵinject(APP_FORM_ERROR_I18N_KEYS, 8)); }, token: FormErrorTranslator, providedIn: "root" });
3765
3750
  FormErrorTranslator.decorators = [
3766
3751
  { type: Injectable, args: [{ providedIn: 'root' },] }
3767
3752
  ];
@@ -4080,9 +4065,9 @@ function parseDuration(input, maxDecimals, placeholderChar) {
4080
4065
  const hour = parseInt(durationParts[0] || '0');
4081
4066
  const minute = parseInt(durationParts[1] || '0');
4082
4067
  const value = hour + (minute + 0.5) / 60;
4083
- return roundFloat(value, maxDecimals);
4068
+ return roundFloat$1(value, maxDecimals);
4084
4069
  }
4085
- function roundFloat(input, maxDecimals) {
4070
+ function roundFloat$1(input, maxDecimals) {
4086
4071
  if (maxDecimals > 0) {
4087
4072
  const powDecimal = Math.pow(10, maxDecimals);
4088
4073
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -4106,9 +4091,9 @@ const MASKS = {
4106
4091
  DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
4107
4092
  }
4108
4093
  };
4109
- const noop$7 = () => {
4094
+ const noop$1 = () => {
4110
4095
  };
4111
- const ɵ0$a = noop$7;
4096
+ const ɵ0$1 = noop$1;
4112
4097
  class MatLatLongField {
4113
4098
  constructor(platform, translate, formBuilder, cd, formGroupDir) {
4114
4099
  this.platform = platform;
@@ -4116,8 +4101,8 @@ class MatLatLongField {
4116
4101
  this.formBuilder = formBuilder;
4117
4102
  this.cd = cd;
4118
4103
  this.formGroupDir = formGroupDir;
4119
- this._onChangeCallback = noop$7;
4120
- this._onTouchedCallback = noop$7;
4104
+ this._onChangeCallback = noop$1;
4105
+ this._onTouchedCallback = noop$1;
4121
4106
  this._subscription = new Subscription();
4122
4107
  this.disabling = false;
4123
4108
  this.writing = false;
@@ -4453,14 +4438,14 @@ SharedMatLatLongModule.decorators = [
4453
4438
  },] }
4454
4439
  ];
4455
4440
 
4456
- const DEFAULT_VALUE_ACCESSOR$5 = {
4441
+ const DEFAULT_VALUE_ACCESSOR = {
4457
4442
  provide: NG_VALUE_ACCESSOR,
4458
4443
  useExisting: forwardRef(() => MatDate),
4459
4444
  multi: true
4460
4445
  };
4461
- const DAY_MASK$2 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4462
- const noop$6 = () => { };
4463
- const ɵ0$9 = noop$6;
4446
+ const DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4447
+ const noop$2 = () => { };
4448
+ const ɵ0$2 = noop$2;
4464
4449
  class MatDate {
4465
4450
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
4466
4451
  this.dateAdapter = dateAdapter;
@@ -4469,12 +4454,12 @@ class MatDate {
4469
4454
  this.cd = cd;
4470
4455
  this.keyboard = keyboard;
4471
4456
  this.formGroupDir = formGroupDir;
4472
- this._onChangeCallback = noop$6;
4473
- this._onTouchedCallback = noop$6;
4457
+ this._onChangeCallback = noop$2;
4458
+ this._onTouchedCallback = noop$2;
4474
4459
  this._subscription = new Subscription();
4475
4460
  this.writing = true;
4476
4461
  this.disabling = false;
4477
- this.dayMask = DAY_MASK$2;
4462
+ this.dayMask = DAY_MASK;
4478
4463
  this.disabled = false;
4479
4464
  this.floatLabel = 'auto';
4480
4465
  this.readonly = false;
@@ -4599,44 +4584,6 @@ class MatDate {
4599
4584
  this.markForCheck();
4600
4585
  this._onChangeCallback(dateStr);
4601
4586
  }
4602
- updatePattern(pattern) {
4603
- pattern = pattern !== 'COMMON.DATE_PATTERN' ? pattern : 'L';
4604
- if (this.displayPattern !== pattern) {
4605
- this.displayPattern = pattern;
4606
- this.dayPattern = pattern;
4607
- this.markForCheck();
4608
- }
4609
- }
4610
- onFormChange(dayValue) {
4611
- if (this.writing)
4612
- return; // Skip if call by self
4613
- this.writing = true;
4614
- // Make to remove placeholder chars
4615
- while (dayValue && dayValue.indexOf(this.placeholderChar) !== -1) {
4616
- dayValue = dayValue.replace(this.placeholderChar, '');
4617
- }
4618
- let date;
4619
- // Parse day string
4620
- date = dayValue && this.dateAdapter.parse(dayValue, this.dayPattern) || null;
4621
- // Reset time
4622
- date = date && date.utc(true).hour(0).minute(0).seconds(0).millisecond(0);
4623
- // update date picker
4624
- this._value = date && this.dateAdapter.parse(date.clone(), DATE_ISO_PATTERN);
4625
- // Get the model value
4626
- const dateStr = date && date.isValid() && this.dateAdapter.format(date, DATE_ISO_PATTERN).replace('+00:00', 'Z') || date;
4627
- //console.debug("[mat-date-time] Setting date: ", dateStr);
4628
- this.formControl.patchValue(dateStr, { emitEvent: false });
4629
- //this.formControl.updateValueAndValidity();
4630
- this.writing = false;
4631
- this.markForCheck();
4632
- this._onChangeCallback(dateStr);
4633
- }
4634
- checkIfTouched() {
4635
- if (this.dayControl.touched) {
4636
- this.markForCheck();
4637
- this._onTouchedCallback();
4638
- }
4639
- }
4640
4587
  openDatePickerIfMobile(event, datePicker) {
4641
4588
  return __awaiter(this, void 0, void 0, function* () {
4642
4589
  if (!this.mobile || event.defaultPrevented)
@@ -4676,7 +4623,45 @@ class MatDate {
4676
4623
  }
4677
4624
  });
4678
4625
  }
4679
- /* -- protected method -- */
4626
+ /* -- private method -- */
4627
+ updatePattern(pattern) {
4628
+ pattern = pattern !== 'COMMON.DATE_PATTERN' ? pattern : 'L';
4629
+ if (this.displayPattern !== pattern) {
4630
+ this.displayPattern = pattern;
4631
+ this.dayPattern = pattern;
4632
+ this.markForCheck();
4633
+ }
4634
+ }
4635
+ onFormChange(dayValue) {
4636
+ if (this.writing)
4637
+ return; // Skip if call by self
4638
+ this.writing = true;
4639
+ // Make to remove placeholder chars
4640
+ while (dayValue && dayValue.indexOf(this.placeholderChar) !== -1) {
4641
+ dayValue = dayValue.replace(this.placeholderChar, '');
4642
+ }
4643
+ let date;
4644
+ // Parse day string
4645
+ date = dayValue && this.dateAdapter.parse(dayValue, this.dayPattern) || null;
4646
+ // Reset time
4647
+ date = date && date.utc(true).hour(0).minute(0).seconds(0).millisecond(0);
4648
+ // update date picker
4649
+ this._value = date && this.dateAdapter.parse(date.clone(), DATE_ISO_PATTERN);
4650
+ // Get the model value
4651
+ const dateStr = date && date.isValid() && this.dateAdapter.format(date, DATE_ISO_PATTERN).replace('+00:00', 'Z') || date;
4652
+ //console.debug("[mat-date-time] Setting date: ", dateStr);
4653
+ this.formControl.patchValue(dateStr, { emitEvent: false });
4654
+ //this.formControl.updateValueAndValidity();
4655
+ this.writing = false;
4656
+ this.markForCheck();
4657
+ this._onChangeCallback(dateStr);
4658
+ }
4659
+ checkIfTouched() {
4660
+ if (this.dayControl.touched) {
4661
+ this.markForCheck();
4662
+ this._onTouchedCallback();
4663
+ }
4664
+ }
4680
4665
  waitKeyboardHide(waitKeyboardDelay) {
4681
4666
  return __awaiter(this, void 0, void 0, function* () {
4682
4667
  if (!this.keyboard || !this.keyboard.isVisible)
@@ -4711,7 +4696,7 @@ MatDate.decorators = [
4711
4696
  selector: 'mat-date-field',
4712
4697
  template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly else writable\">\n <input matInput hidden type=\"text\" readonly=\"true\" [formControl]=\"formControl\">\n <ion-text>{{formControl.value|dateFormat: {pattern: displayPattern} }}</ion-text>\n</mat-form-field>\n\n<ng-template #writable>\n <mat-form-field [floatLabel]=\"floatLabel\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix><ng-content select=\"[matPrefix]\"></ng-content></div>\n\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"dayControl\"\n [textMask]=\"{mask: dayMask, keepCharPositions: true, placeholderChar: placeholderChar}\"\n [placeholder]=\"'COMMON.DATE_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker)\"\n (keyup.escape)=\"preventEvent($event)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [appAutofocus]=\"autofocus\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dayControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n\n <!-- Hide the final control -->\n <input matInput type=\"text\"\n [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n (click)=\"openDatePicker($event, datePicker)\"\n [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"writeValue(null)\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('validDate')\" translate>ERROR.FIELD_NOT_VALID_DATE</mat-error>\n <mat-error *ngIf=\"formControl.hasError('dateIsAfter')\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</mat-error>\n <mat-error *ngIf=\"formControl.hasError('dateRange')\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</mat-error>\n <mat-error *ngIf=\"!formControl.hasError('dateRange') && formControl.hasError('dateMaxDuration')\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</mat-error>\n <mat-error *ngIf=\"!formControl.hasError('dateRange') && formControl.hasError('dateMinDuration')\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</mat-error>\n <mat-error *ngIf=\"formControl.hasError('msg')\">{{formControl.errors.msg}}</mat-error>\n </mat-form-field>\n\n <mat-datepicker #datePicker\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n [startAt]=\"startDate\"></mat-datepicker>\n\n <ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n </ng-template>\n\n <ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n </ng-template>\n\n</ng-template>\n\n",
4713
4698
  providers: [
4714
- DEFAULT_VALUE_ACCESSOR$5,
4699
+ DEFAULT_VALUE_ACCESSOR,
4715
4700
  ],
4716
4701
  changeDetection: ChangeDetectionStrategy.OnPush,
4717
4702
  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%}"]
@@ -4744,17 +4729,17 @@ MatDate.propDecorators = {
4744
4729
  matInputs: [{ type: ViewChildren, args: ['matInput',] }]
4745
4730
  };
4746
4731
 
4747
- const DEFAULT_VALUE_ACCESSOR$4 = {
4732
+ const DEFAULT_VALUE_ACCESSOR$1 = {
4748
4733
  provide: NG_VALUE_ACCESSOR,
4749
4734
  useExisting: forwardRef(() => MatDateTime),
4750
4735
  multi: true
4751
4736
  };
4752
4737
  const DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4753
4738
  const HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
4754
- const HOUR_MASK$1 = [/[012]/, /\d/, ':', /[012345]/, /\d/];
4755
- const noop$5 = () => {
4739
+ const HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
4740
+ const noop$3 = () => {
4756
4741
  };
4757
- const ɵ0$8 = noop$5;
4742
+ const ɵ0$3 = noop$3;
4758
4743
  class MatDateTime {
4759
4744
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
4760
4745
  this.platform = platform;
@@ -4764,14 +4749,14 @@ class MatDateTime {
4764
4749
  this.cd = cd;
4765
4750
  this.keyboard = keyboard;
4766
4751
  this.formGroupDir = formGroupDir;
4767
- this._onChangeCallback = noop$5;
4768
- this._onTouchedCallback = noop$5;
4752
+ this._onChangeCallback = noop$3;
4753
+ this._onTouchedCallback = noop$3;
4769
4754
  this._subscription = new Subscription();
4770
4755
  this.writing = true;
4771
4756
  this.disabling = false;
4772
4757
  this._readonly = false;
4773
4758
  this.dayMask = DAY_MASK$1;
4774
- this.hourMask = HOUR_MASK$1;
4759
+ this.hourMask = HOUR_MASK;
4775
4760
  this.floatLabel = 'auto';
4776
4761
  this.compact = false;
4777
4762
  this.placeholderChar = DEFAULT_PLACEHOLDER_CHAR;
@@ -4801,7 +4786,7 @@ class MatDateTime {
4801
4786
  }
4802
4787
  ngOnInit() {
4803
4788
  this.mobile = isNil(this.mobile) ? this.platform.is('mobile') : this.mobile;
4804
- this.waitHideKeyboardDelay = this.mobile && KEYBOARD_HIDE_DELAY_MS || 0;
4789
+ this.keyboardHideDelay = this.mobile && KEYBOARD_HIDE_DELAY_MS || 0;
4805
4790
  this.formControl = this.formControl || this.formControlName && this.formGroupDir && this.formGroupDir.form.get(this.formControlName);
4806
4791
  if (!this.formControl)
4807
4792
  throw new Error('Missing mandatory attribute \'formControl\' or \'formControlName\' in <mat-date-time-field>.');
@@ -4925,10 +4910,6 @@ class MatDateTime {
4925
4910
  this.disabling = false;
4926
4911
  this.markForCheck();
4927
4912
  }
4928
- updatePattern(patterns) {
4929
- this.displayPattern = (patterns['COMMON.DATE_TIME_PATTERN'] !== 'COMMON.DATE_TIME_PATTERN' ? patterns['COMMON.DATE_TIME_PATTERN'] : 'L LT');
4930
- this.dayPattern = (patterns['COMMON.DATE_PATTERN'] !== 'COMMON.DATE_PATTERN' ? patterns['COMMON.DATE_PATTERN'] : 'L');
4931
- }
4932
4913
  onDatePickerChange(event) {
4933
4914
  // Make sure event is valid
4934
4915
  if (!event || (event.value !== null && !isMoment(event.value))) {
@@ -4966,7 +4947,7 @@ class MatDateTime {
4966
4947
  return;
4967
4948
  this.preventEvent(event);
4968
4949
  // Make sure the keyboard is closed
4969
- yield this.hideKeyboard(false);
4950
+ yield this.waitKeyboardHide(false);
4970
4951
  // Open the picker
4971
4952
  this.openDatePicker(null, datePicker);
4972
4953
  });
@@ -4987,7 +4968,7 @@ class MatDateTime {
4987
4968
  return;
4988
4969
  this.preventEvent(event);
4989
4970
  // Make sure the keyboard is closed
4990
- yield this.hideKeyboard(true);
4971
+ yield this.waitKeyboardHide(true);
4991
4972
  // Open the picker
4992
4973
  this.openTimePicker(null);
4993
4974
  });
@@ -5006,12 +4987,6 @@ class MatDateTime {
5006
4987
  event.stopPropagation();
5007
4988
  event.returnValue = false;
5008
4989
  }
5009
- checkIfTouched() {
5010
- if (this.dateFormControl.touched || this.timeFormControl.touched) {
5011
- this._onTouchedCallback();
5012
- this.markForCheck();
5013
- }
5014
- }
5015
4990
  focus() {
5016
4991
  if (!this.matInputs.length)
5017
4992
  return;
@@ -5027,7 +5002,31 @@ class MatDateTime {
5027
5002
  this.markAsTouched();
5028
5003
  this.markAsDirty();
5029
5004
  }
5030
- /* -- protected method -- */
5005
+ /* -- private method -- */
5006
+ updatePattern(patterns) {
5007
+ this.displayPattern = (patterns['COMMON.DATE_TIME_PATTERN'] !== 'COMMON.DATE_TIME_PATTERN' ? patterns['COMMON.DATE_TIME_PATTERN'] : 'L LT');
5008
+ this.dayPattern = (patterns['COMMON.DATE_PATTERN'] !== 'COMMON.DATE_PATTERN' ? patterns['COMMON.DATE_PATTERN'] : 'L');
5009
+ }
5010
+ checkIfTouched() {
5011
+ if (this.dateFormControl.touched || this.timeFormControl.touched) {
5012
+ this._onTouchedCallback();
5013
+ this.markForCheck();
5014
+ }
5015
+ }
5016
+ waitKeyboardHide(waitKeyboardDelay) {
5017
+ return __awaiter(this, void 0, void 0, function* () {
5018
+ if (!this.keyboard || !this.keyboard.isVisible)
5019
+ return; // ok, already hidden (or not accessible)
5020
+ // Force keyboard to be hide
5021
+ this.keyboard.hide();
5022
+ // Wait hide occur
5023
+ yield this.keyboard.onKeyboardHide().pipe(first()).toPromise();
5024
+ // Wait an additional delay if need (depending on the OS)
5025
+ if (this.keyboardHideDelay > 0 && waitKeyboardDelay) {
5026
+ yield sleep(this.keyboardHideDelay);
5027
+ }
5028
+ });
5029
+ }
5031
5030
  emitChange(value) {
5032
5031
  // Get the model value
5033
5032
  const dateStr = toDateISOString(value) || null;
@@ -5040,20 +5039,6 @@ class MatDateTime {
5040
5039
  this.checkIfTouched();
5041
5040
  }
5042
5041
  }
5043
- hideKeyboard(waitIsHidden) {
5044
- return __awaiter(this, void 0, void 0, function* () {
5045
- if (!this.keyboard.isVisible)
5046
- return; // ok, already hidden
5047
- // Force keyboard to be hide
5048
- this.keyboard.hide();
5049
- // Wait hide occur
5050
- yield this.keyboard.onKeyboardHide().pipe(first()).toPromise();
5051
- // Wait an additional delay if need (depending on the OS)
5052
- if (this.waitHideKeyboardDelay > 0 && waitIsHidden) {
5053
- yield sleep(this.waitHideKeyboardDelay);
5054
- }
5055
- });
5056
- }
5057
5042
  updateTabIndex() {
5058
5043
  if (isNil(this._tabindex) || this._tabindex === -1)
5059
5044
  return; // skip
@@ -5083,7 +5068,7 @@ MatDateTime.decorators = [
5083
5068
  selector: 'mat-date-time-field',
5084
5069
  template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled\">\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput hidden type=\"text\"\n readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{formControl.value|dateFormat: {pattern: displayPattern} }}</ion-text>\n</mat-form-field>\n\n<!-- writable + time -->\n<ng-template #writable >\n <ion-grid class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding no-wrap\" nowrap>\n\n <!-- day -->\n <ion-col class=\"day ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && formControl.invalid\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"dateFormControl\"\n [textMask]=\"{mask: dayMask, keepCharPositions: true, placeholderChar: placeholderChar}\"\n [placeholder]=\"'COMMON.DATE_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker)\"\n (keyup.escape)=\"preventEvent($event)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [appAutofocus]=\"autofocus\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dateFormControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n <input matInput type=\"text\" [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button type=\"button\" mat-icon-button tabindex=\"-1\" matSuffix #datePickerButton2 (click)=\"openDatePicker($event, datePicker)\" [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clear()\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-datepicker #datePicker\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n [startAt]=\"startDate\"></mat-datepicker>\n <div class=\"mat-form-field-subscript mat-form-field-subscript-wrapper\" >\n <!-- errors -->\n <ng-container [ngSwitch]=\"formControl.touched && formControl.errors|mapKeys|arrayFirst\">\n <mat-error *ngSwitchCase=\"'required'\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngSwitchCase=\"'validDate'\" translate>ERROR.FIELD_NOT_VALID_DATE_TIME</mat-error>\n <mat-error *ngSwitchCase=\"'dateIsAfter'\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</mat-error>\n <mat-error *ngSwitchCase=\"'dateRange'\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</mat-error>\n <mat-error *ngSwitchCase=\"'dateMaxDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'dateMinDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'msg'\">{{(formControl.errors.msg?.key || formControl.errors.msg) | translate: formControl.errors.msg?.params}}</mat-error>\n </ng-container>\n <ng-content select=\"mat-error\"></ng-content>\n\n <!-- mat hint -->\n <div class=\"mat-form-field-hint-wrapper\" [class.cdk-visually-hidden]=\"formControl.invalid\">\n <div class=\"mat-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint\"></ng-content>\n </div>\n </div>\n\n </ion-col>\n\n <!-- hour -->\n <ion-col class=\"hour ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && (timeFormControl.invalid || formControl.invalid)\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.TIME</mat-label>\n <input matInput #matInput type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"timeFormControl\"\n autocomplete=\"off\"\n min=\"0\" max=\"23\"\n [textMask]=\"{mask: hourMask, keepCharPositions: true, placeholderChar: placeholderChar, guide: true}\"\n [placeholder]=\"'COMMON.TIME_PLACEHOLDER'|translate\"\n [required]=\"required\"\n (keyup.arrowdown)=\"openTimePicker($event)\"\n (keyup.escape)=\"preventEvent($event)\"\n (blur)=\"checkIfTouched()\"\n [tabindex]=\"tabindex !== undefined ? tabindex+1 : undefined\">\n\n <input matInput #matInput type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"timeFormControl\"\n (click)=\"openTimePickerIfMobile($event)\"\n readonly>\n\n <input matInput type=\"text\"\n [formControl]=\"timeFormControl\"\n hidden\n [ngxTimepicker]=\"timePicker\"\n [format]=\"24\">\n\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && !mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePicker($event)\" >\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePickerIfMobile($event)\">\n <mat-icon>access_time</mat-icon>\n </button>\n\n <ngx-material-timepicker #timePicker [@.disabled]=\"true\"\n (timeSet)=\"onTimePickerChange($event)\"\n [ESC]=\"!mobile\"\n [defaultTime]=\"'00:00'\"\n [cancelBtnTmpl]=\"timePickerCancelButton\"\n [confirmBtnTmpl]=\"timePickerOkButton\"\n [preventOverlayClick]=\"mobile\"\n [enableKeyboardInput]=\"false\"\n [disableAnimation]=\"true\">\n <!-- cancel button -->\n <ng-template #timePickerCancelButton>\n <ion-button fill=\"clear\" color=\"dark\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n </ng-template>\n\n <!-- confirm button -->\n <ng-template #timePickerOkButton>\n <ion-button fill=\"solid\" color=\"tertiary\">\n <ion-label translate>COMMON.BTN_VALIDATE</ion-label>\n </ion-button>\n </ng-template>\n\n </ngx-material-timepicker>\n </mat-form-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n\n</ng-template>\n\n<ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n</ng-template>\n\n<ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n</ng-template>\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n",
5085
5070
  providers: [
5086
- DEFAULT_VALUE_ACCESSOR$4,
5071
+ DEFAULT_VALUE_ACCESSOR$1,
5087
5072
  ],
5088
5073
  changeDetection: ChangeDetectionStrategy.OnPush,
5089
5074
  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%}"]
@@ -5117,15 +5102,15 @@ MatDateTime.propDecorators = {
5117
5102
  matInputs: [{ type: ViewChildren, args: ['matInput',] }]
5118
5103
  };
5119
5104
 
5120
- const DEFAULT_VALUE_ACCESSOR$3 = {
5105
+ const DEFAULT_VALUE_ACCESSOR$2 = {
5121
5106
  provide: NG_VALUE_ACCESSOR,
5122
5107
  useExisting: forwardRef(() => MatDateShort),
5123
5108
  multi: true
5124
5109
  };
5125
- const DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
5110
+ const DAY_MASK$2 = [/\d/, /\d/, /\d/, /\d/];
5126
5111
  const noop$4 = () => {
5127
5112
  };
5128
- const ɵ0$7 = noop$4;
5113
+ const ɵ0$4 = noop$4;
5129
5114
  class MatDateShort {
5130
5115
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
5131
5116
  this.dateAdapter = dateAdapter;
@@ -5138,7 +5123,7 @@ class MatDateShort {
5138
5123
  this._onTouchedCallback = noop$4;
5139
5124
  this.writing = true;
5140
5125
  this.disabling = false;
5141
- this.dayMask = DAY_MASK;
5126
+ this.dayMask = DAY_MASK$2;
5142
5127
  this.disabled = false;
5143
5128
  this.floatLabel = 'auto';
5144
5129
  this.readonly = false;
@@ -5383,7 +5368,7 @@ MatDateShort.decorators = [
5383
5368
  selector: 'mat-date-short-field',
5384
5369
  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",
5385
5370
  providers: [
5386
- DEFAULT_VALUE_ACCESSOR$3,
5371
+ DEFAULT_VALUE_ACCESSOR$2,
5387
5372
  ],
5388
5373
  changeDetection: ChangeDetectionStrategy.OnPush,
5389
5374
  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%}"]
@@ -5451,16 +5436,16 @@ SharedMatDateTimeModule.decorators = [
5451
5436
  },] }
5452
5437
  ];
5453
5438
 
5454
- const DEFAULT_VALUE_ACCESSOR$2 = {
5439
+ const DEFAULT_VALUE_ACCESSOR$3 = {
5455
5440
  provide: NG_VALUE_ACCESSOR,
5456
5441
  useExisting: forwardRef(() => MatDuration),
5457
5442
  multi: true
5458
5443
  };
5459
5444
  const HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
5460
- const HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
5461
- const noop$3 = () => {
5445
+ const HOUR_MASK$1 = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
5446
+ const noop$5 = () => {
5462
5447
  };
5463
- const ɵ0$6 = noop$3;
5448
+ const ɵ0$5 = noop$5;
5464
5449
  class MatDuration {
5465
5450
  constructor(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
5466
5451
  this.dateAdapter = dateAdapter;
@@ -5469,11 +5454,11 @@ class MatDuration {
5469
5454
  this.cd = cd;
5470
5455
  this.formGroupDir = formGroupDir;
5471
5456
  this._subscription = new Subscription();
5472
- this._onChangeCallback = noop$3;
5473
- this._onTouchedCallback = noop$3;
5457
+ this._onChangeCallback = noop$5;
5458
+ this._onTouchedCallback = noop$5;
5474
5459
  this.writing = true;
5475
5460
  this.disabling = false;
5476
- this.hourMask = HOUR_MASK;
5461
+ this.hourMask = HOUR_MASK$1;
5477
5462
  this.disabled = false;
5478
5463
  this.floatLabel = 'auto';
5479
5464
  this.readonly = false;
@@ -5653,7 +5638,7 @@ MatDuration.decorators = [
5653
5638
  selector: 'mat-duration-field',
5654
5639
  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",
5655
5640
  providers: [
5656
- DEFAULT_VALUE_ACCESSOR$2,
5641
+ DEFAULT_VALUE_ACCESSOR$3,
5657
5642
  ],
5658
5643
  changeDetection: ChangeDetectionStrategy.OnPush,
5659
5644
  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%}"]
@@ -5710,22 +5695,22 @@ SharedMatDurationModule.decorators = [
5710
5695
  },] }
5711
5696
  ];
5712
5697
 
5713
- const DEFAULT_VALUE_ACCESSOR$1 = {
5698
+ const DEFAULT_VALUE_ACCESSOR$4 = {
5714
5699
  provide: NG_VALUE_ACCESSOR,
5715
5700
  useExisting: forwardRef(() => MatBooleanField),
5716
5701
  multi: true
5717
5702
  };
5718
- const noop$2 = () => {
5703
+ const noop$6 = () => {
5719
5704
  };
5720
- const ɵ0$5 = noop$2;
5705
+ const ɵ0$6 = noop$6;
5721
5706
  class MatBooleanField {
5722
5707
  constructor(translate, formBuilder, cd, formGroupDir) {
5723
5708
  this.translate = translate;
5724
5709
  this.formBuilder = formBuilder;
5725
5710
  this.cd = cd;
5726
5711
  this.formGroupDir = formGroupDir;
5727
- this._onChangeCallback = noop$2;
5728
- this._onTouchedCallback = noop$2;
5712
+ this._onChangeCallback = noop$6;
5713
+ this._onTouchedCallback = noop$6;
5729
5714
  this._writing = false;
5730
5715
  this.showRadio = false;
5731
5716
  this.disabled = false;
@@ -5886,9 +5871,9 @@ class MatBooleanField {
5886
5871
  MatBooleanField.decorators = [
5887
5872
  { type: Component, args: [{
5888
5873
  selector: 'mat-boolean-field',
5889
- 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 <div class=\"cdk-visually-hidden\">\n <div #suffix><ng-content select=\"[matSuffix]\"></ng-content></div>\n </div>\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",
5874
+ 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",
5890
5875
  providers: [
5891
- DEFAULT_VALUE_ACCESSOR$1
5876
+ DEFAULT_VALUE_ACCESSOR$4
5892
5877
  ],
5893
5878
  changeDetection: ChangeDetectionStrategy.OnPush,
5894
5879
  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}"]
@@ -5924,8 +5909,7 @@ MatBooleanField.propDecorators = {
5924
5909
  yesButton: [{ type: ViewChild, args: ['yesButton',] }],
5925
5910
  noButton: [{ type: ViewChild, args: ['noButton',] }],
5926
5911
  checkboxButton: [{ type: ViewChild, args: ['checkboxButton',] }],
5927
- fakeInput: [{ type: ViewChild, args: ['fakeInput',] }],
5928
- suffixDiv: [{ type: ViewChild, args: ['suffix', { static: false },] }]
5912
+ fakeInput: [{ type: ViewChild, args: ['fakeInput',] }]
5929
5913
  };
5930
5914
 
5931
5915
  class SharedMatBooleanModule {
@@ -6135,7 +6119,7 @@ class MatNumpadDomService {
6135
6119
  this.appRef.detachView(this.componentRef.hostView);
6136
6120
  }
6137
6121
  }
6138
- MatNumpadDomService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatNumpadDomService_Factory() { return new MatNumpadDomService(i0.ɵɵinject(i0.ComponentFactoryResolver), i0.ɵɵinject(i0.ApplicationRef), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i1$3.DOCUMENT, 8)); }, token: MatNumpadDomService, providedIn: "root" });
6122
+ MatNumpadDomService.ɵprov = ɵɵdefineInjectable({ factory: function MatNumpadDomService_Factory() { return new MatNumpadDomService(ɵɵinject(ComponentFactoryResolver), ɵɵinject(ApplicationRef), ɵɵinject(INJECTOR), ɵɵinject(DOCUMENT, 8)); }, token: MatNumpadDomService, providedIn: "root" });
6139
6123
  MatNumpadDomService.decorators = [
6140
6124
  { type: Injectable, args: [{
6141
6125
  providedIn: 'root'
@@ -6499,7 +6483,7 @@ SharedMatNumpadModule.decorators = [
6499
6483
  },] }
6500
6484
  ];
6501
6485
 
6502
- const DEFAULT_VALUE_ACCESSOR = {
6486
+ const DEFAULT_VALUE_ACCESSOR$5 = {
6503
6487
  provide: NG_VALUE_ACCESSOR,
6504
6488
  useExisting: forwardRef(() => MatSwipeField),
6505
6489
  multi: true
@@ -6762,7 +6746,7 @@ MatSwipeField.decorators = [
6762
6746
  { type: Component, args: [{
6763
6747
  selector: 'mat-swipe-field',
6764
6748
  template: "<mat-form-field [floatLabel]=\"showSlides && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\n [class]=\"classList\"\n [class.mat-form-field-disabled]=\"disabled\">\n <mat-label *ngIf=\"placeholder && floatLabel!=='never'\">\n {{placeholder}}\n </mat-label>\n <input matInput #fakeInput type=\"text\"\n [formControl]=\"formControl\"\n [readonly]=\"true\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showSlides\"\n [tabindex]=\"tabindex\">\n\n <div class=\"slides-container\" [class.hidden]=\"!showSlides\">\n <ion-slides #slides\n [options]=\"slidesOptions\"\n (ionSlidesDidLoad)=\"slidesLoaded()\"\n (ionSlideReachStart)=\"reachStart(true)\"\n (ionSlideReachEnd)=\"reachEnd(true)\"\n (ionSlideNextEnd)=\"reachStart(false)\"\n (ionSlidePrevEnd)=\"reachEnd(false)\"\n (ionSlideDidChange)=\"slideChanged()\"\n >\n <ion-slide *ngFor=\"let item of $items | async\">\n <ion-label>{{ displayWith(item) }}</ion-label>\n </ion-slide>\n\n </ion-slides>\n </div>\n\n <button #prevButton\n mat-icon-button\n type=\"button\"\n class=\"button-prev\"\n [hidden]=\"!showSlides\"\n [disabled]=\"previousDisabled\"\n (click)=\"previous()\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n <button #nextButton\n mat-icon-button\n type=\"button\"\n class=\"button-next\"\n [hidden]=\"!showSlides\"\n [disabled]=\"nextDisabled\"\n (click)=\"next()\">\n <mat-icon>chevron_right</mat-icon>\n </button>\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clearValue($event)\"\n [hidden]=\"disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('entity')\" translate>ERROR.FIELD_INVALID</mat-error>\n\n</mat-form-field>\n",
6765
- providers: [DEFAULT_VALUE_ACCESSOR],
6749
+ providers: [DEFAULT_VALUE_ACCESSOR$5],
6766
6750
  changeDetection: ChangeDetectionStrategy.OnPush,
6767
6751
  styles: [":host{display:inline-block;width:100%;position:relative}input.hidden{display:none}.slides-container .swiper-slide{font-size:16px!important}.slides-container.hidden{visibility:hidden;height:0!important}.button-next,.button-prev{position:absolute;top:calc(50% - 20px);z-index:10}.button-prev{left:0;right:auto}.button-next{left:auto;right:0}"]
6768
6752
  },] }
@@ -6820,14 +6804,14 @@ SharedMatSwipeModule.decorators = [
6820
6804
  },] }
6821
6805
  ];
6822
6806
 
6823
- const noop$1 = () => { };
6824
- const ɵ0$4 = noop$1;
6807
+ const noop$7 = () => { };
6808
+ const ɵ0$7 = noop$7;
6825
6809
  class MatChipsField {
6826
6810
  constructor(cd, formGroupDir) {
6827
6811
  this.cd = cd;
6828
6812
  this.formGroupDir = formGroupDir;
6829
- this._onChangeCallback = noop$1;
6830
- this._onTouchedCallback = noop$1;
6813
+ this._onChangeCallback = noop$7;
6814
+ this._onTouchedCallback = noop$7;
6831
6815
  this.logPrefix = '[mat-chips] ';
6832
6816
  this.formControlName = null;
6833
6817
  this.required = false;
@@ -7613,7 +7597,7 @@ class ProgressBarService {
7613
7597
  }
7614
7598
  }
7615
7599
  }
7616
- ProgressBarService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
7600
+ ProgressBarService.ɵprov = ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
7617
7601
  ProgressBarService.decorators = [
7618
7602
  { type: Injectable, args: [{ providedIn: 'root' },] }
7619
7603
  ];
@@ -7657,7 +7641,7 @@ class AppGestureConfig extends HammerGestureConfig {
7657
7641
  return mc;
7658
7642
  }
7659
7643
  }
7660
- AppGestureConfig.ɵprov = i0.ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
7644
+ AppGestureConfig.ɵprov = ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
7661
7645
  AppGestureConfig.decorators = [
7662
7646
  { type: Injectable, args: [{ providedIn: 'root' },] }
7663
7647
  ];
@@ -7882,7 +7866,7 @@ class MatPaginatorI18n extends MatPaginatorIntl {
7882
7866
  this.previousPageLabel = this.translate.instant('COMMON.PAGINATOR.PREVIOUS_PAGE');
7883
7867
  }
7884
7868
  }
7885
- MatPaginatorI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(i0.ɵɵinject(i1$1.TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
7869
+ MatPaginatorI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(ɵɵinject(TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
7886
7870
  MatPaginatorI18n.decorators = [
7887
7871
  { type: Injectable, args: [{ providedIn: 'root' },] }
7888
7872
  ];
@@ -7972,17 +7956,17 @@ function getColorContrast(color, bw) {
7972
7956
  return rgbArrayToHex(rgb.map(v => 255 - v));
7973
7957
  }
7974
7958
 
7975
- const noop = () => {
7959
+ const noop$8 = () => {
7976
7960
  };
7977
- const ɵ0$3 = noop;
7961
+ const ɵ0$8 = noop$8;
7978
7962
  class AppFormField {
7979
7963
  constructor(translate, cd, injector, formGroupDir) {
7980
7964
  this.translate = translate;
7981
7965
  this.cd = cd;
7982
7966
  this.injector = injector;
7983
7967
  this.formGroupDir = formGroupDir;
7984
- this._onChangeCallback = noop;
7985
- this._onTouchedCallback = noop;
7968
+ this._onChangeCallback = noop$8;
7969
+ this._onTouchedCallback = noop$8;
7986
7970
  this.readonly = false;
7987
7971
  this.compact = false;
7988
7972
  this.floatLabel = 'auto';
@@ -8415,14 +8399,14 @@ class AudioProvider extends StartableService {
8415
8399
  });
8416
8400
  }
8417
8401
  }
8418
- 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" });
8402
+ 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" });
8419
8403
  AudioProvider.decorators = [
8420
8404
  { type: Injectable, args: [{ providedIn: 'root' },] }
8421
8405
  ];
8422
8406
  AudioProvider.ctorParameters = () => [
8423
8407
  { type: Platform },
8424
- { type: NativeAudio, decorators: [{ type: Optional }] },
8425
- { type: Vibration, decorators: [{ type: Optional }] },
8408
+ { type: NativeAudio$1, decorators: [{ type: Optional }] },
8409
+ { type: Vibration$1, decorators: [{ type: Optional }] },
8426
8410
  { type: AudioManagement, decorators: [{ type: Optional }] }
8427
8411
  ];
8428
8412
 
@@ -8504,7 +8488,7 @@ class Hotkeys {
8504
8488
  });
8505
8489
  }
8506
8490
  }
8507
- 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" });
8491
+ Hotkeys.ɵprov = ɵɵdefineInjectable({ factory: function Hotkeys_Factory() { return new Hotkeys(ɵɵinject(EventManager), ɵɵinject(MatDialog), ɵɵinject(DOCUMENT), ɵɵinject(ModalController)); }, token: Hotkeys, providedIn: "root" });
8508
8492
  Hotkeys.decorators = [
8509
8493
  { type: Injectable, args: [{
8510
8494
  providedIn: 'root'
@@ -8678,7 +8662,7 @@ class Base64ImageReader {
8678
8662
  }
8679
8663
  }
8680
8664
 
8681
- const uuidv4$1 = uuidv4Imported;
8665
+ const uuidv4 = uuidv4Imported;
8682
8666
  class FileService {
8683
8667
  constructor(platform,
8684
8668
  //private transfer: FileTransfer,
@@ -8715,7 +8699,7 @@ class FileService {
8715
8699
  const lastSlashIndex = source.lastIndexOf('/');
8716
8700
  if (lastSlashIndex === -1)
8717
8701
  throw new Error('Invalid URL: ' + source);
8718
- const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4$1();
8702
+ const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
8719
8703
  // Download into the file system
8720
8704
  if (responseType === 'file' && this.canUseFileSystem) {
8721
8705
  console.warn(`WARN: [file] Fetching image {${source}} in local file...`);
@@ -8771,7 +8755,7 @@ class FileService {
8771
8755
  this._started = true;
8772
8756
  }
8773
8757
  }
8774
- 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" });
8758
+ FileService.ɵprov = ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(ɵɵinject(Platform), ɵɵinject(HttpClient), ɵɵinject(ENVIRONMENT)); }, token: FileService, providedIn: "root" });
8775
8759
  FileService.decorators = [
8776
8760
  { type: Injectable, args: [{
8777
8761
  providedIn: 'root',
@@ -8937,7 +8921,7 @@ class Base58 {
8937
8921
  Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
8938
8922
 
8939
8923
  const scrypt = require('scrypt-async');
8940
- const sha256$1 = require('hash.js/lib/hash/sha/256');
8924
+ const sha256 = require('hash.js/lib/hash/sha/256');
8941
8925
  const sha512 = require('hash.js/lib/hash/sha/512');
8942
8926
  const nacl = {
8943
8927
  sign,
@@ -9041,7 +9025,7 @@ class CryptoService {
9041
9025
  * Hash (using SHA256) a message
9042
9026
  */
9043
9027
  sha256(message) {
9044
- return sha256$1().update(message).digest('hex');
9028
+ return sha256().update(message).digest('hex');
9045
9029
  }
9046
9030
  /**
9047
9031
  * Hash (using SHA512) a message
@@ -9054,7 +9038,7 @@ class CryptoService {
9054
9038
  return nacl.util.encodeBase64(m);
9055
9039
  }
9056
9040
  }
9057
- CryptoService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
9041
+ CryptoService.ɵprov = ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
9058
9042
  CryptoService.decorators = [
9059
9043
  { type: Injectable, args: [{ providedIn: 'root' },] }
9060
9044
  ];
@@ -10282,7 +10266,7 @@ class LocalSettingsService extends StartableService {
10282
10266
  return page;
10283
10267
  }
10284
10268
  }
10285
- 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" });
10269
+ 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" });
10286
10270
  LocalSettingsService.decorators = [
10287
10271
  { type: Injectable, args: [{
10288
10272
  providedIn: 'root',
@@ -10940,7 +10924,7 @@ class NetworkService extends StartableService {
10940
10924
  });
10941
10925
  }
10942
10926
  }
10943
- 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" });
10927
+ 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" });
10944
10928
  NetworkService.decorators = [
10945
10929
  { type: Injectable, args: [{ providedIn: 'root' },] }
10946
10930
  ];
@@ -10951,16 +10935,16 @@ NetworkService.ctorParameters = () => [
10951
10935
  { type: CryptoService },
10952
10936
  { type: Storage },
10953
10937
  { type: LocalSettingsService },
10954
- { type: CacheService },
10938
+ { type: CacheService$1 },
10955
10939
  { type: HttpClient },
10956
10940
  { type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
10957
- { type: Network, decorators: [{ type: Optional }] },
10958
- { type: SplashScreen, decorators: [{ type: Optional }] },
10941
+ { type: Network$1, decorators: [{ type: Optional }] },
10942
+ { type: SplashScreen$1, decorators: [{ type: Optional }] },
10959
10943
  { type: TranslateService, decorators: [{ type: Optional }] },
10960
10944
  { type: ToastController, decorators: [{ type: Optional }] }
10961
10945
  ];
10962
10946
 
10963
- const ErrorCodes$2 = {
10947
+ const ErrorCodes = {
10964
10948
  UNKNOWN_ERROR: 0,
10965
10949
  LOAD_ACCOUNT_ERROR: 1,
10966
10950
  BAD_PASSWORD: 2,
@@ -11312,7 +11296,7 @@ class EntityStore {
11312
11296
  }
11313
11297
  catch (err) {
11314
11298
  console.error(err);
11315
- throw { code: ErrorCodes$2.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
11299
+ throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
11316
11300
  }
11317
11301
  }
11318
11302
  // Emit update event
@@ -11886,7 +11870,7 @@ class EntitiesStorage extends StartableService {
11886
11870
  }
11887
11871
  EntitiesStorage.TRASH_PREFIX = 'Trash#';
11888
11872
  EntitiesStorage.REMOTE_PREFIX = 'Remote#';
11889
- 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" });
11873
+ 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" });
11890
11874
  EntitiesStorage.decorators = [
11891
11875
  { type: Injectable, args: [{ providedIn: 'root' },] }
11892
11876
  ];
@@ -12023,10 +12007,10 @@ function referentialToString(obj, properties) {
12023
12007
  function referentialsToString(values, properties, separator) {
12024
12008
  return (values || []).map(v => referentialToString(v, properties)).join(separator || ', ');
12025
12009
  }
12026
- const ɵ0$2 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
12010
+ const ɵ0$9 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
12027
12011
  const StatusList = Object.freeze([
12028
12012
  {
12029
- id: ɵ0$2,
12013
+ id: ɵ0$9,
12030
12014
  icon: 'checkmark',
12031
12015
  label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
12032
12016
  },
@@ -12301,7 +12285,7 @@ function accountToString(data) {
12301
12285
  (data.lastName || '')) || '';
12302
12286
  }
12303
12287
 
12304
- const uuidv4 = uuidv4Imported;
12288
+ const uuidv4$1 = uuidv4Imported;
12305
12289
  const _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
12306
12290
  const NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
12307
12291
  /**
@@ -12345,7 +12329,7 @@ function createTrackerLink(opts) {
12345
12329
  // Skip if not tracked
12346
12330
  if (!context || !context.tracked)
12347
12331
  return forward(operation);
12348
- const id = context.serializationKey || uuidv4();
12332
+ const id = context.serializationKey || uuidv4$1();
12349
12333
  console.debug(`[apollo-tracker-link] Watching tracked query {${operation.operationName}#${id}}`);
12350
12334
  // Clean context, before calling JSON.stringify (remove unused attributes)
12351
12335
  const cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
@@ -13010,7 +12994,7 @@ class GraphqlService extends StartableService {
13010
12994
  (err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
13011
12995
  || this.toAppError(err.networkError)
13012
12996
  || (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
13013
- || this.createAppErrorByCode(ErrorCodes$2.UNKNOWN_NETWORK_ERROR)))
12997
+ || this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
13014
12998
  // If graphQL: try to convert the first error found
13015
12999
  || (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
13016
13000
  || this.toAppError(err)
@@ -13018,7 +13002,7 @@ class GraphqlService extends StartableService {
13018
13002
  || (err.graphQLErrors && err.graphQLErrors[0])
13019
13003
  || err;
13020
13004
  console.error('[graphql] ' + (error && error.message || error), error.stack || '');
13021
- if (error && error.code === ErrorCodes$2.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
13005
+ if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
13022
13006
  console.error('[graphql] original error: ' + err.networkError.message);
13023
13007
  this.onNetworkError.next(error);
13024
13008
  }
@@ -13054,7 +13038,7 @@ class GraphqlService extends StartableService {
13054
13038
  return 'ERROR.UNAUTHORIZED';
13055
13039
  case ServerErrorCodes.FORBIDDEN:
13056
13040
  return 'ERROR.FORBIDDEN';
13057
- case ErrorCodes$2.UNKNOWN_NETWORK_ERROR:
13041
+ case ErrorCodes.UNKNOWN_NETWORK_ERROR:
13058
13042
  return 'ERROR.UNKNOWN_NETWORK_ERROR';
13059
13043
  case ServerErrorCodes.BAD_UPDATE_DATE:
13060
13044
  return 'ERROR.BAD_UPDATE_DATE';
@@ -13085,7 +13069,7 @@ class GraphqlService extends StartableService {
13085
13069
  return undefined;
13086
13070
  }
13087
13071
  }
13088
- 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" });
13072
+ 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" });
13089
13073
  GraphqlService.decorators = [
13090
13074
  { type: Injectable, args: [{
13091
13075
  providedIn: 'root'
@@ -13102,7 +13086,7 @@ GraphqlService.ctorParameters = () => [
13102
13086
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
13103
13087
  ];
13104
13088
 
13105
- const sha256 = require('hash.js/lib/hash/sha/256');
13089
+ const sha256$1 = require('hash.js/lib/hash/sha/256');
13106
13090
  class BaseGraphqlServiceOptions {
13107
13091
  }
13108
13092
  // eslint-disable-next-line @angular-eslint/directive-class-suffix
@@ -13253,8 +13237,8 @@ class BaseGraphqlService extends StartableService {
13253
13237
  }
13254
13238
  /* -- protected methods -- */
13255
13239
  computeMutableWatchQueryId(opts) {
13256
- const queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
13257
- const variablesKey = opts.variables && sha256().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
13240
+ const queryName = opts.queryName || sha256$1().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
13241
+ const variablesKey = opts.variables && sha256$1().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
13258
13242
  return [queryName, opts.arrayFieldName, variablesKey].join('|');
13259
13243
  }
13260
13244
  findMutableWatchQueries(opts) {
@@ -13320,7 +13304,7 @@ const DEFAULT_AVATAR_IMAGE = 'assets/img/person.png';
13320
13304
  /* ------------------------------------
13321
13305
  * GraphQL queries
13322
13306
  * ------------------------------------*/
13323
- const Fragments$1 = {
13307
+ const Fragments = {
13324
13308
  account: gql `
13325
13309
  fragment AccountFragment on AccountVO {
13326
13310
  id
@@ -13355,14 +13339,14 @@ const Fragments$1 = {
13355
13339
  }`
13356
13340
  };
13357
13341
  // Load account query
13358
- const LoadQuery$1 = gql `
13342
+ const LoadQuery = gql `
13359
13343
  query Account {
13360
13344
  data: account {
13361
13345
  ...AccountFragment
13362
13346
  }
13363
13347
  }
13364
- ${Fragments$1.account}
13365
- ${Fragments$1.settings}
13348
+ ${Fragments.account}
13349
+ ${Fragments.settings}
13366
13350
  `;
13367
13351
  // Check email query
13368
13352
  const IsEmailExistsQuery = gql `
@@ -13377,21 +13361,21 @@ const AccountMutations = {
13377
13361
  ...AccountFragment
13378
13362
  }
13379
13363
  }
13380
- ${Fragments$1.account}
13381
- ${Fragments$1.settings}`,
13364
+ ${Fragments.account}
13365
+ ${Fragments.settings}`,
13382
13366
  create: gql `mutation CreateAccount($data:AccountVOInput){
13383
13367
  data: createAccount(account: $data){
13384
13368
  ...AccountFragment
13385
13369
  }
13386
13370
  }
13387
- ${Fragments$1.account}
13388
- ${Fragments$1.settings}`,
13371
+ ${Fragments.account}
13372
+ ${Fragments.settings}`,
13389
13373
  saveSettings: gql `mutation SaveSettings($data:UserSettingsVOInput){
13390
13374
  data: saveSettings(settings: $data){
13391
13375
  ...UserSettingsFragment
13392
13376
  }
13393
13377
  }
13394
- ${Fragments$1.settings}`
13378
+ ${Fragments.settings}`
13395
13379
  };
13396
13380
  // Sent confirmation email
13397
13381
  const SendConfirmEmailMutation = gql `
@@ -13700,7 +13684,7 @@ class AccountService extends BaseGraphqlService {
13700
13684
  catch (error) {
13701
13685
  console.error(error);
13702
13686
  this.resetData();
13703
- throw { code: ErrorCodes$2.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
13687
+ throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
13704
13688
  }
13705
13689
  // Store pubkey+keypair
13706
13690
  this._cache.pubkey = Base58.encode(keypair.publicKey);
@@ -13734,7 +13718,7 @@ class AccountService extends BaseGraphqlService {
13734
13718
  }
13735
13719
  catch (err) {
13736
13720
  // If account not found, check if email is valid
13737
- if (err && +(err.code) === ErrorCodes$2.LOAD_ACCOUNT_ERROR) {
13721
+ if (err && +(err.code) === ErrorCodes.LOAD_ACCOUNT_ERROR) {
13738
13722
  // Check email exists
13739
13723
  if (data.username.indexOf('@') !== -1) {
13740
13724
  let isEmailExists;
@@ -13746,11 +13730,11 @@ class AccountService extends BaseGraphqlService {
13746
13730
  }
13747
13731
  // Email not exists (no account)
13748
13732
  if (!isEmailExists) {
13749
- throw { code: ErrorCodes$2.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
13733
+ throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
13750
13734
  }
13751
13735
  }
13752
13736
  // Email exists, so error = 'bad password'
13753
- throw { code: ErrorCodes$2.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
13737
+ throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
13754
13738
  }
13755
13739
  throw err; // resend the first error
13756
13740
  }
@@ -13875,8 +13859,8 @@ class AccountService extends BaseGraphqlService {
13875
13859
  // Load remotely
13876
13860
  else {
13877
13861
  const { data } = yield this.graphql.query({
13878
- query: LoadQuery$1,
13879
- error: { code: ErrorCodes$2.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
13862
+ query: LoadQuery,
13863
+ error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
13880
13864
  fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
13881
13865
  });
13882
13866
  json = data;
@@ -13903,7 +13887,7 @@ class AccountService extends BaseGraphqlService {
13903
13887
  return __awaiter(this, void 0, void 0, function* () {
13904
13888
  const isEmailExists = yield this.isEmailExists(email);
13905
13889
  if (isEmailExists) {
13906
- throw { code: ErrorCodes$2.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
13890
+ throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
13907
13891
  }
13908
13892
  });
13909
13893
  }
@@ -13939,7 +13923,7 @@ class AccountService extends BaseGraphqlService {
13939
13923
  locale
13940
13924
  },
13941
13925
  error: {
13942
- code: ErrorCodes$2.SENT_CONFIRMATION_EMAIL_FAILED,
13926
+ code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
13943
13927
  message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
13944
13928
  }
13945
13929
  });
@@ -13955,7 +13939,7 @@ class AccountService extends BaseGraphqlService {
13955
13939
  code
13956
13940
  },
13957
13941
  error: {
13958
- code: ErrorCodes$2.CONFIRM_EMAIL_FAILED,
13942
+ code: ErrorCodes.CONFIRM_EMAIL_FAILED,
13959
13943
  message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
13960
13944
  }
13961
13945
  });
@@ -13973,7 +13957,7 @@ class AccountService extends BaseGraphqlService {
13973
13957
  interval: 10
13974
13958
  },
13975
13959
  error: {
13976
- code: ErrorCodes$2.SUBSCRIBE_ACCOUNT_ERROR,
13960
+ code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
13977
13961
  message: 'ERROR.ACCOUNT.SUBSCRIBE_ACCOUNT_ERROR'
13978
13962
  }
13979
13963
  }).subscribe({
@@ -14074,7 +14058,7 @@ class AccountService extends BaseGraphqlService {
14074
14058
  throw error;
14075
14059
  console.error(error);
14076
14060
  throw {
14077
- code: ErrorCodes$2.LOAD_ACCOUNT_ERROR,
14061
+ code: ErrorCodes.LOAD_ACCOUNT_ERROR,
14078
14062
  message: 'ERROR.LOAD_ACCOUNT_ERROR'
14079
14063
  };
14080
14064
  }
@@ -14242,7 +14226,7 @@ class AccountService extends BaseGraphqlService {
14242
14226
  if (!isNew) {
14243
14227
  const existingAccount = yield this.load({ fetchPolicy: 'network-only' });
14244
14228
  if (!existingAccount || !existingAccount.updateDate) {
14245
- throw { code: ErrorCodes$2.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
14229
+ throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
14246
14230
  }
14247
14231
  this.copyIdAndUpdateDate(existingAccount, account);
14248
14232
  }
@@ -14254,7 +14238,7 @@ class AccountService extends BaseGraphqlService {
14254
14238
  mutation: isNew ? AccountMutations.create : AccountMutations.save,
14255
14239
  variables: { data: json },
14256
14240
  error: {
14257
- code: ErrorCodes$2.SAVE_ACCOUNT_ERROR,
14241
+ code: ErrorCodes.SAVE_ACCOUNT_ERROR,
14258
14242
  message: 'ERROR.SAVE_ACCOUNT_ERROR'
14259
14243
  }
14260
14244
  });
@@ -14281,7 +14265,7 @@ class AccountService extends BaseGraphqlService {
14281
14265
  mutation: AccountMutations.saveSettings,
14282
14266
  variables: { data: json },
14283
14267
  error: {
14284
- code: ErrorCodes$2.SAVE_SETTINGS_ERROR,
14268
+ code: ErrorCodes.SAVE_SETTINGS_ERROR,
14285
14269
  message: 'ERROR.SAVE_SETTINGS_ERROR'
14286
14270
  }
14287
14271
  });
@@ -14303,7 +14287,7 @@ class AccountService extends BaseGraphqlService {
14303
14287
  if (counter > 4) {
14304
14288
  if (this._debug)
14305
14289
  console.debug(`[account] Failed to authentication on pod (after ${counter} attempts)`);
14306
- throw { code: ErrorCodes$2.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
14290
+ throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
14307
14291
  }
14308
14292
  // Check if valid
14309
14293
  if (token) {
@@ -14313,7 +14297,7 @@ class AccountService extends BaseGraphqlService {
14313
14297
  token
14314
14298
  },
14315
14299
  error: {
14316
- code: ErrorCodes$2.UNAUTHORIZED,
14300
+ code: ErrorCodes.UNAUTHORIZED,
14317
14301
  message: 'ERROR.UNAUTHORIZED'
14318
14302
  },
14319
14303
  fetchPolicy: 'no-cache'
@@ -14329,7 +14313,7 @@ class AccountService extends BaseGraphqlService {
14329
14313
  }
14330
14314
  // Generate a new token
14331
14315
  const challengeError = {
14332
- code: ErrorCodes$2.AUTH_CHALLENGE_ERROR,
14316
+ code: ErrorCodes.AUTH_CHALLENGE_ERROR,
14333
14317
  message: 'ERROR.AUTH_CHALLENGE_ERROR'
14334
14318
  };
14335
14319
  const data = yield this.graphql.query({
@@ -14368,7 +14352,7 @@ class AccountService extends BaseGraphqlService {
14368
14352
  target.updateDate = source.updateDate || target.updateDate;
14369
14353
  }
14370
14354
  }
14371
- AccountService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(i0.ɵɵinject(CryptoService), i0.ɵɵinject(NetworkService), i0.ɵɵinject(GraphqlService), i0.ɵɵinject(LocalSettingsService), i0.ɵɵinject(i3$1.Storage), i0.ɵɵinject(FileService), i0.ɵɵinject(ENVIRONMENT)); }, token: AccountService, providedIn: "root" });
14355
+ AccountService.ɵprov = ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(ɵɵinject(CryptoService), ɵɵinject(NetworkService), ɵɵinject(GraphqlService), ɵɵinject(LocalSettingsService), ɵɵinject(Storage), ɵɵinject(FileService), ɵɵinject(ENVIRONMENT)); }, token: AccountService, providedIn: "root" });
14372
14356
  AccountService.decorators = [
14373
14357
  { type: Injectable, args: [{ providedIn: 'root' },] }
14374
14358
  ];
@@ -14628,7 +14612,7 @@ const CONFIGURATION_STORAGE_KEY = 'configuration';
14628
14612
  /* ------------------------------------
14629
14613
  * GraphQL queries
14630
14614
  * ------------------------------------*/
14631
- const Fragments = {
14615
+ const Fragments$1 = {
14632
14616
  config: gql `
14633
14617
  fragment ConfigFragment on ConfigurationVO {
14634
14618
  id
@@ -14655,13 +14639,13 @@ const Fragments = {
14655
14639
  }
14656
14640
  `
14657
14641
  };
14658
- const LoadQuery = gql `
14642
+ const LoadQuery$1 = gql `
14659
14643
  query Configuration{
14660
14644
  data: configuration{
14661
14645
  ...ConfigFragment
14662
14646
  }
14663
14647
  }
14664
- ${Fragments.config}
14648
+ ${Fragments$1.config}
14665
14649
  `;
14666
14650
  // Save (create or update) account mutation
14667
14651
  const SaveMutation = gql `
@@ -14670,7 +14654,7 @@ const SaveMutation = gql `
14670
14654
  ...ConfigFragment
14671
14655
  }
14672
14656
  }
14673
- ${Fragments.config}
14657
+ ${Fragments$1.config}
14674
14658
  `;
14675
14659
  const ClearCache = gql `
14676
14660
  query ClearCache($name: String) {
@@ -14720,12 +14704,12 @@ class ConfigService extends BaseGraphqlService {
14720
14704
  return __awaiter(this, void 0, void 0, function* () {
14721
14705
  const now = Date.now();
14722
14706
  console.debug('[config] Loading Pod configuration...');
14723
- const query = opts && opts.query || LoadQuery;
14707
+ const query = opts && opts.query || LoadQuery$1;
14724
14708
  const variables = opts && opts.variables || undefined;
14725
14709
  const res = yield this.graphql.query({
14726
14710
  query,
14727
14711
  variables,
14728
- error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14712
+ error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14729
14713
  fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
14730
14714
  });
14731
14715
  const data = res && res.data ? Configuration.fromObject(res.data) : undefined;
@@ -14755,7 +14739,7 @@ class ConfigService extends BaseGraphqlService {
14755
14739
  data: json
14756
14740
  },
14757
14741
  error: {
14758
- code: ErrorCodes$2.SAVE_CONFIG_ERROR,
14742
+ code: ErrorCodes.SAVE_CONFIG_ERROR,
14759
14743
  message: 'ERROR.SAVE_CONFIG_ERROR'
14760
14744
  }
14761
14745
  });
@@ -14781,7 +14765,7 @@ class ConfigService extends BaseGraphqlService {
14781
14765
  const res = yield this.graphql.query({
14782
14766
  query: CacheStatistics,
14783
14767
  variables: null,
14784
- error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14768
+ error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14785
14769
  fetchPolicy: 'network-only'
14786
14770
  });
14787
14771
  const data = res && res.cacheStatistics || undefined;
@@ -14797,7 +14781,7 @@ class ConfigService extends BaseGraphqlService {
14797
14781
  const res = yield this.graphql.query({
14798
14782
  query: ClearCache,
14799
14783
  variables,
14800
- error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14784
+ error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14801
14785
  fetchPolicy: 'network-only'
14802
14786
  });
14803
14787
  const data = res && res.clearCache || undefined;
@@ -14956,7 +14940,7 @@ class ConfigService extends BaseGraphqlService {
14956
14940
  });
14957
14941
  }
14958
14942
  }
14959
- ConfigService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ConfigService_Factory() { return new ConfigService(i0.ɵɵinject(i1$4.Platform), i0.ɵɵinject(GraphqlService), i0.ɵɵinject(i3$1.Storage), i0.ɵɵinject(NetworkService), i0.ɵɵinject(FileService), i0.ɵɵinject(i1$4.ToastController), i0.ɵɵinject(i1$1.TranslateService), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(APP_CONFIG_OPTIONS, 8)); }, token: ConfigService, providedIn: "root" });
14943
+ ConfigService.ɵprov = ɵɵdefineInjectable({ factory: function ConfigService_Factory() { return new ConfigService(ɵɵinject(Platform), ɵɵinject(GraphqlService), ɵɵinject(Storage), ɵɵinject(NetworkService), ɵɵinject(FileService), ɵɵinject(ToastController), ɵɵinject(TranslateService), ɵɵinject(ENVIRONMENT), ɵɵinject(APP_CONFIG_OPTIONS, 8)); }, token: ConfigService, providedIn: "root" });
14960
14944
  ConfigService.decorators = [
14961
14945
  { type: Injectable, args: [{
14962
14946
  providedIn: 'root',
@@ -14975,7 +14959,7 @@ ConfigService.ctorParameters = () => [
14975
14959
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_CONFIG_OPTIONS,] }] }
14976
14960
  ];
14977
14961
 
14978
- const moment$2 = momentImported;
14962
+ const moment$4 = momentImported;
14979
14963
  class PlatformService extends StartableService {
14980
14964
  constructor(platform, cdkPlatform, toastController, translate, dateAdapter, entitiesStorage, settings, networkService, accountService, configService, cache, storage, audioProvider, environment, statusBar, keyboard, splashScreen, browser, downloader) {
14981
14965
  super(platform);
@@ -15179,16 +15163,16 @@ class PlatformService extends StartableService {
15179
15163
  }
15180
15164
  // config moment lib
15181
15165
  try {
15182
- moment$2.locale(event.lang);
15166
+ moment$4.locale(event.lang);
15183
15167
  console.debug('[platform] Use locale {' + event.lang + '}');
15184
15168
  }
15185
15169
  // If error, fallback to en
15186
15170
  catch (err) {
15187
- moment$2.locale('en');
15171
+ moment$4.locale('en');
15188
15172
  console.warn('[platform] Unknown local for moment lib. Using default [en]');
15189
15173
  }
15190
15174
  // Config date adapter
15191
- this.dateAdapter.setLocale(moment$2.locale());
15175
+ this.dateAdapter.setLocale(moment$4.locale());
15192
15176
  }
15193
15177
  });
15194
15178
  this.settings.onChange.subscribe(data => {
@@ -15322,7 +15306,7 @@ class PlatformService extends StartableService {
15322
15306
  });
15323
15307
  }
15324
15308
  }
15325
- 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" });
15309
+ 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" });
15326
15310
  PlatformService.decorators = [
15327
15311
  { type: Injectable, args: [{ providedIn: 'root' },] }
15328
15312
  ];
@@ -15337,15 +15321,15 @@ PlatformService.ctorParameters = () => [
15337
15321
  { type: NetworkService },
15338
15322
  { type: AccountService },
15339
15323
  { type: ConfigService },
15340
- { type: CacheService },
15324
+ { type: CacheService$1 },
15341
15325
  { type: Storage },
15342
15326
  { type: AudioProvider },
15343
15327
  { type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
15344
- { type: StatusBar, decorators: [{ type: Optional }] },
15328
+ { type: StatusBar$1, decorators: [{ type: Optional }] },
15345
15329
  { type: Keyboard, decorators: [{ type: Optional }] },
15346
- { type: SplashScreen, decorators: [{ type: Optional }] },
15347
- { type: InAppBrowser, decorators: [{ type: Optional }] },
15348
- { type: Downloader, decorators: [{ type: Optional }] }
15330
+ { type: SplashScreen$1, decorators: [{ type: Optional }] },
15331
+ { type: InAppBrowser$1, decorators: [{ type: Optional }] },
15332
+ { type: Downloader$1, decorators: [{ type: Optional }] }
15349
15333
  ];
15350
15334
 
15351
15335
  class AppHelpModal {
@@ -15409,7 +15393,7 @@ class MatStepperI18n extends MatStepperIntl {
15409
15393
  this.optionalLabel = this.translate.instant('COMMON.OPTIONAL');
15410
15394
  }
15411
15395
  }
15412
- MatStepperI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(i0.ɵɵinject(i1$1.TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
15396
+ MatStepperI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(ɵɵinject(TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
15413
15397
  MatStepperI18n.decorators = [
15414
15398
  { type: Injectable, args: [{ providedIn: 'root' },] }
15415
15399
  ];
@@ -16411,7 +16395,7 @@ function state2side(state) {
16411
16395
  return 1;
16412
16396
  }
16413
16397
  }
16414
- const ɵ0$1 = (defaultStateSize) => [
16398
+ const ɵ0$a = (defaultStateSize) => [
16415
16399
  Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
16416
16400
  Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
16417
16401
  Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
@@ -16419,7 +16403,7 @@ const ɵ0$1 = (defaultStateSize) => [
16419
16403
  const SCALE_OPTIONS_DEFAULT = {
16420
16404
  startColor: rgbArrayMap.red,
16421
16405
  startStates: [0, 2, 3],
16422
- startStepsFn: ɵ0$1
16406
+ startStepsFn: ɵ0$a
16423
16407
  };
16424
16408
  /**
16425
16409
  * Internal function, that create a colors scale, using iteration
@@ -16511,21 +16495,21 @@ function linearColorGradient(count, options) {
16511
16495
  return result;
16512
16496
  }
16513
16497
 
16514
- class EntityTestClass$1 {
16498
+ class EntityTestClass {
16515
16499
  }
16516
- const FAKE_ENTITIES$1 = [
16500
+ const FAKE_ENTITIES = [
16517
16501
  { id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
16518
16502
  { id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
16519
16503
  { id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
16520
16504
  ];
16521
- function deepCopy$1(values, size) {
16505
+ function deepCopy(values, size) {
16522
16506
  if (isNil(size)) {
16523
- return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
16507
+ return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
16524
16508
  }
16525
16509
  let result = [];
16526
16510
  let i = 1;
16527
16511
  while (result.length < size) {
16528
- result = result.concat((values || FAKE_ENTITIES$1).map(entity => {
16512
+ result = result.concat((values || FAKE_ENTITIES).map(entity => {
16529
16513
  const name = entity.name + ' #' + i;
16530
16514
  return Object.assign(Object.assign({}, entity), { id: i++, name });
16531
16515
  }));
@@ -16535,7 +16519,7 @@ function deepCopy$1(values, size) {
16535
16519
  class AutocompleteTestPage {
16536
16520
  constructor(formBuilder) {
16537
16521
  this.formBuilder = formBuilder;
16538
- this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
16522
+ this._items = deepCopy(FAKE_ENTITIES, 100);
16539
16523
  this._$items = new BehaviorSubject(undefined);
16540
16524
  this.autocompleteFields = new MatAutocompleteConfigHolder();
16541
16525
  this.memoryHide = false;
@@ -16579,7 +16563,7 @@ class AutocompleteTestPage {
16579
16563
  });
16580
16564
  // From items
16581
16565
  this.autocompleteFields.add('entity-items-large', {
16582
- items: FAKE_ENTITIES$1.slice(),
16566
+ items: FAKE_ENTITIES.slice(),
16583
16567
  attributes: ['label', 'name', 'description', 'comments'],
16584
16568
  displayWith: this.entityToString
16585
16569
  });
@@ -16589,12 +16573,12 @@ class AutocompleteTestPage {
16589
16573
  loadData() {
16590
16574
  return __awaiter(this, void 0, void 0, function* () {
16591
16575
  const data = {
16592
- entity: deepCopy$1(FAKE_ENTITIES$1)[0],
16576
+ entity: deepCopy(FAKE_ENTITIES)[0],
16593
16577
  // This item is NOT in the items list => i should be displayed anyway
16594
16578
  missingEntity: {
16595
16579
  id: -1, label: '??', name: 'Missing item'
16596
16580
  },
16597
- disableEntity: deepCopy$1(FAKE_ENTITIES$1)[2]
16581
+ disableEntity: deepCopy(FAKE_ENTITIES)[2]
16598
16582
  };
16599
16583
  this.form.setValue(data);
16600
16584
  // Load observables
@@ -16767,13 +16751,13 @@ MaterialTestingPage.ctorParameters = () => [
16767
16751
  { type: Array, decorators: [{ type: Optional }, { type: Inject, args: [APP_TESTING_PAGES,] }] }
16768
16752
  ];
16769
16753
 
16770
- const moment$1 = momentImported;
16754
+ const moment$5 = momentImported;
16771
16755
  class SwipeTestPage {
16772
16756
  constructor(formBuilder, dateFormatPipe) {
16773
16757
  this.formBuilder = formBuilder;
16774
16758
  this.dateFormatPipe = dateFormatPipe;
16775
16759
  this.$dates = new BehaviorSubject(undefined);
16776
- this._today = moment$1().startOf('day');
16760
+ this._today = moment$5().startOf('day');
16777
16761
  this.form = formBuilder.group({
16778
16762
  empty: [null, Validators.required],
16779
16763
  date: [null, Validators.compose([Validators.required, SharedValidators.validDate])],
@@ -16786,7 +16770,7 @@ class SwipeTestPage {
16786
16770
  ngOnInit() {
16787
16771
  const dates = [];
16788
16772
  for (let d = 0; d < 7; d++) {
16789
- dates[d] = moment$1(this._today).add(d - 3, 'day');
16773
+ dates[d] = moment$5(this._today).add(d - 3, 'day');
16790
16774
  }
16791
16775
  this.$dates.next(dates);
16792
16776
  this.loadData();
@@ -16827,7 +16811,7 @@ SwipeTestPage.ctorParameters = () => [
16827
16811
  { type: DateFormatPipe }
16828
16812
  ];
16829
16813
 
16830
- const moment = momentImported;
16814
+ const moment$6 = momentImported;
16831
16815
  class DateTimeTestPage {
16832
16816
  constructor(platform, formBuilder, cd) {
16833
16817
  this.platform = platform;
@@ -16859,7 +16843,7 @@ class DateTimeTestPage {
16859
16843
  // Load the form with data
16860
16844
  loadData() {
16861
16845
  return __awaiter(this, void 0, void 0, function* () {
16862
- const now = moment();
16846
+ const now = moment$6();
16863
16847
  const data = {
16864
16848
  empty: toDateISOString(now.clone().add(2, 'hours')),
16865
16849
  enable: toDateISOString(now),
@@ -16920,9 +16904,9 @@ DateTimeTestPage.ctorParameters = () => [
16920
16904
  { type: ChangeDetectorRef }
16921
16905
  ];
16922
16906
 
16923
- class EntityTestClass {
16907
+ class EntityTestClass$1 {
16924
16908
  }
16925
- const FAKE_ENTITIES = [
16909
+ const FAKE_ENTITIES$1 = [
16926
16910
  { id: 1, label: 'AAA', name: 'Item A' },
16927
16911
  { id: 2, label: 'BBB', name: 'Item B' },
16928
16912
  { id: 3, label: 'CCC', name: 'Item C' },
@@ -16931,14 +16915,14 @@ const FAKE_ENTITIES = [
16931
16915
  { id: 6, label: 'FFF', name: 'Item F' },
16932
16916
  { id: 7, label: 'GGG', name: 'Item G' }
16933
16917
  ];
16934
- function deepCopy(values, size) {
16918
+ function deepCopy$1(values, size) {
16935
16919
  if (isNil(size)) {
16936
- return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
16920
+ return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
16937
16921
  }
16938
16922
  let result = [];
16939
16923
  let i = 1;
16940
16924
  while (result.length < size) {
16941
- result = result.concat((values || FAKE_ENTITIES).map(entity => {
16925
+ result = result.concat((values || FAKE_ENTITIES$1).map(entity => {
16942
16926
  const name = entity.name + ' #' + i;
16943
16927
  return Object.assign(Object.assign({}, entity), { id: i++, name });
16944
16928
  }));
@@ -16948,7 +16932,7 @@ function deepCopy(values, size) {
16948
16932
  class ChipsTestPage {
16949
16933
  constructor(formBuilder) {
16950
16934
  this.formBuilder = formBuilder;
16951
- this._items = deepCopy(FAKE_ENTITIES, 100);
16935
+ this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
16952
16936
  this._$items = new BehaviorSubject(undefined);
16953
16937
  this.autocompleteFields = new MatAutocompleteConfigHolder();
16954
16938
  this.form = formBuilder.group({
@@ -16987,7 +16971,7 @@ class ChipsTestPage {
16987
16971
  // Load the form with data
16988
16972
  loadData() {
16989
16973
  return __awaiter(this, void 0, void 0, function* () {
16990
- const items = deepCopy(FAKE_ENTITIES);
16974
+ const items = deepCopy$1(FAKE_ENTITIES$1);
16991
16975
  const data = {
16992
16976
  entity: items.slice(0, 1),
16993
16977
  entityInitial: items.slice(1, 2),
@@ -17057,7 +17041,7 @@ MatBadgeIconTestPage.decorators = [
17057
17041
  },] }
17058
17042
  ];
17059
17043
 
17060
- const routes$1 = [
17044
+ const routes = [
17061
17045
  {
17062
17046
  path: '',
17063
17047
  pathMatch: 'full',
@@ -17109,7 +17093,7 @@ MaterialTestingModule.decorators = [
17109
17093
  ReactiveFormsModule,
17110
17094
  SharedMaterialModule,
17111
17095
  TranslateModule.forChild(),
17112
- RouterModule.forChild(routes$1)
17096
+ RouterModule.forChild(routes)
17113
17097
  ],
17114
17098
  declarations: [
17115
17099
  MaterialTestingPage,
@@ -18124,7 +18108,7 @@ class UserSettingsValidatorService extends AppValidatorService {
18124
18108
  });
18125
18109
  }
18126
18110
  }
18127
- UserSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(i0.ɵɵinject(i1$6.FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
18111
+ UserSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(ɵɵinject(FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
18128
18112
  UserSettingsValidatorService.decorators = [
18129
18113
  { type: Injectable, args: [{ providedIn: 'root' },] }
18130
18114
  ];
@@ -18168,7 +18152,7 @@ class AccountValidatorService extends AppValidatorService {
18168
18152
  return validatorFns.length ? Validators.compose(validatorFns) : validatorFns.length === 1 ? validatorFns[0] : undefined;
18169
18153
  }
18170
18154
  }
18171
- AccountValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
18155
+ AccountValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
18172
18156
  AccountValidatorService.decorators = [
18173
18157
  { type: Injectable, args: [{ providedIn: 'root' },] }
18174
18158
  ];
@@ -18733,7 +18717,7 @@ class LocalSettingsValidatorService extends AppValidatorService {
18733
18717
  });
18734
18718
  }
18735
18719
  }
18736
- LocalSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
18720
+ LocalSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(ɵɵinject(FormBuilder), ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
18737
18721
  LocalSettingsValidatorService.decorators = [
18738
18722
  { type: Injectable, args: [{ providedIn: 'root' },] }
18739
18723
  ];
@@ -19352,7 +19336,7 @@ class IsOnFieldModePipe {
19352
19336
  return value === 'FIELD';
19353
19337
  }
19354
19338
  }
19355
- IsOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
19339
+ IsOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
19356
19340
  IsOnFieldModePipe.decorators = [
19357
19341
  { type: Pipe, args: [{
19358
19342
  name: 'isOnField'
@@ -19364,7 +19348,7 @@ class IsNotOnFieldModePipe {
19364
19348
  return value !== 'FIELD';
19365
19349
  }
19366
19350
  }
19367
- IsNotOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
19351
+ IsNotOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
19368
19352
  IsNotOnFieldModePipe.decorators = [
19369
19353
  { type: Pipe, args: [{
19370
19354
  name: 'isNotOnField'
@@ -19379,7 +19363,7 @@ class PersonToStringPipe {
19379
19363
  return PersonUtils.personToString(value);
19380
19364
  }
19381
19365
  }
19382
- PersonToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
19366
+ PersonToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
19383
19367
  PersonToStringPipe.decorators = [
19384
19368
  { type: Pipe, args: [{
19385
19369
  name: 'personToString'
@@ -19764,7 +19748,7 @@ class IsLoginAccountPipe {
19764
19748
  return value && value.pubkey && true;
19765
19749
  }
19766
19750
  }
19767
- IsLoginAccountPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
19751
+ IsLoginAccountPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
19768
19752
  IsLoginAccountPipe.decorators = [
19769
19753
  { type: Pipe, args: [{
19770
19754
  name: 'isLogin'
@@ -19776,7 +19760,7 @@ class AccountToStringPipe {
19776
19760
  return accountToString(value);
19777
19761
  }
19778
19762
  }
19779
- AccountToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
19763
+ AccountToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
19780
19764
  AccountToStringPipe.decorators = [
19781
19765
  { type: Pipe, args: [{
19782
19766
  name: 'accountToString'
@@ -19791,7 +19775,7 @@ class DepartmentToStringPipe {
19791
19775
  return departmentToString(value);
19792
19776
  }
19793
19777
  }
19794
- DepartmentToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
19778
+ DepartmentToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
19795
19779
  DepartmentToStringPipe.decorators = [
19796
19780
  { type: Pipe, args: [{
19797
19781
  name: 'departmentToString'
@@ -19817,7 +19801,7 @@ class MenuService {
19817
19801
  this._visibleSubject.next(value);
19818
19802
  }
19819
19803
  }
19820
- MenuService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
19804
+ MenuService.ɵprov = ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
19821
19805
  MenuService.decorators = [
19822
19806
  { type: Injectable, args: [{
19823
19807
  providedIn: 'root'
@@ -20341,7 +20325,7 @@ class AuthGuardService {
20341
20325
  }));
20342
20326
  }
20343
20327
  }
20344
- 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" });
20328
+ AuthGuardService.ɵprov = ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new AuthGuardService(ɵɵinject(AccountService), ɵɵinject(ModalController), ɵɵinject(Router), ɵɵinject(ENVIRONMENT)); }, token: AuthGuardService, providedIn: "root" });
20345
20329
  AuthGuardService.decorators = [
20346
20330
  { type: Injectable, args: [{ providedIn: 'root' },] }
20347
20331
  ];
@@ -20383,7 +20367,7 @@ class BaseEntityService extends BaseGraphqlService {
20383
20367
  query,
20384
20368
  variables: { id },
20385
20369
  fetchPolicy: opts && opts.fetchPolicy || undefined,
20386
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
20370
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
20387
20371
  })
20388
20372
  .pipe(map(({ data }) => (!opts || opts.toEntity !== false)
20389
20373
  ? (data && this.fromObject(data))
@@ -20398,7 +20382,7 @@ class BaseEntityService extends BaseGraphqlService {
20398
20382
  query,
20399
20383
  variables: { id },
20400
20384
  fetchPolicy: opts && opts.fetchPolicy || undefined,
20401
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
20385
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
20402
20386
  });
20403
20387
  // Convert to entity
20404
20388
  return (!opts || opts.toEntity !== false)
@@ -20429,7 +20413,7 @@ class BaseEntityService extends BaseGraphqlService {
20429
20413
  totalFieldName: withTotal ? 'total' : undefined,
20430
20414
  insertFilterFn: filter && filter.asFilterFn(),
20431
20415
  variables,
20432
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
20416
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
20433
20417
  fetchPolicy: opts && opts.fetchPolicy || undefined
20434
20418
  })
20435
20419
  .pipe(map(({ data, total }) => {
@@ -20465,7 +20449,7 @@ class BaseEntityService extends BaseGraphqlService {
20465
20449
  const { data, total } = yield this.graphql.query({
20466
20450
  query,
20467
20451
  variables,
20468
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
20452
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
20469
20453
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
20470
20454
  });
20471
20455
  const entities = (!opts || opts.toEntity !== false) ?
@@ -20504,7 +20488,7 @@ class BaseEntityService extends BaseGraphqlService {
20504
20488
  variables: {
20505
20489
  filter: filter && filter.asPodObject()
20506
20490
  },
20507
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
20491
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
20508
20492
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
20509
20493
  });
20510
20494
  return res.total;
@@ -20537,7 +20521,7 @@ class BaseEntityService extends BaseGraphqlService {
20537
20521
  variables: {
20538
20522
  data: json
20539
20523
  },
20540
- error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
20524
+ error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
20541
20525
  update: (proxy, { data }) => {
20542
20526
  const savedEntities = data && data.data;
20543
20527
  if (savedEntities) {
@@ -20593,7 +20577,7 @@ class BaseEntityService extends BaseGraphqlService {
20593
20577
  variables: {
20594
20578
  data: json
20595
20579
  },
20596
- error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
20580
+ error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
20597
20581
  update: (cache, { data }) => {
20598
20582
  // Update entity
20599
20583
  const savedEntity = data && data.data;
@@ -20641,7 +20625,7 @@ class BaseEntityService extends BaseGraphqlService {
20641
20625
  refetchQueries: this.getRefetchQueriesForMutation(opts),
20642
20626
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
20643
20627
  variables: { ids },
20644
- error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
20628
+ error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
20645
20629
  update: (cache, res) => {
20646
20630
  // Remove from cache
20647
20631
  if (this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -20682,7 +20666,7 @@ class BaseEntityService extends BaseGraphqlService {
20682
20666
  refetchQueries: this.getRefetchQueriesForMutation(opts),
20683
20667
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
20684
20668
  variables: { id },
20685
- error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
20669
+ error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
20686
20670
  update: (proxy, res) => {
20687
20671
  // Remove from cache
20688
20672
  if (this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -20715,7 +20699,7 @@ class BaseEntityService extends BaseGraphqlService {
20715
20699
  query: opts && opts.query || this.subscriptions.listenChanges,
20716
20700
  variables,
20717
20701
  error: {
20718
- code: ErrorCodes$2.SUBSCRIBE_DATA_ERROR,
20702
+ code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
20719
20703
  message: 'ERROR.SUBSCRIBE_DATA_ERROR'
20720
20704
  }
20721
20705
  })
@@ -20901,7 +20885,7 @@ class EntitiesTableDataSource extends TableDataSource {
20901
20885
  if (this._debug)
20902
20886
  invalidRows.forEach(row => AppTableUtils.logRowErrors(row, `[table-datasource] ${this._logTypeName} row #${row.id}`));
20903
20887
  // Stop with an error
20904
- throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
20888
+ throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
20905
20889
  }
20906
20890
  this._editingRowCount = 0;
20907
20891
  let data;
@@ -21381,13 +21365,6 @@ class AppTable {
21381
21365
  markAsLoaded(opts) {
21382
21366
  this.setLoading(false, opts);
21383
21367
  }
21384
- markRowAsDirty(row, opts) {
21385
- var _a;
21386
- row = row || this.editedRow;
21387
- if (row)
21388
- (_a = row.validator) === null || _a === void 0 ? void 0 : _a.markAsDirty(opts);
21389
- this.markAsDirty(opts);
21390
- }
21391
21368
  markAsReady(opts) {
21392
21369
  if (this.readySubject.value !== true) {
21393
21370
  this.readySubject.next(true);
@@ -21770,14 +21747,14 @@ class AppTable {
21770
21747
  return __awaiter(this, void 0, void 0, function* () {
21771
21748
  opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
21772
21749
  if (this.readOnly) {
21773
- throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
21750
+ throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
21774
21751
  }
21775
21752
  this.resetError();
21776
21753
  // Keep edited row id (should be done BEFORE confirmEditCreate() )
21777
21754
  this.previouslyEditedRowId = opts.keepEditing && ((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.editing) ? this.editedRow.id : undefined;
21778
21755
  const previouslyEditedData = isNotNil(this.previouslyEditedRowId) && this.editedRow.currentData || ((_b = this.singleSelectedRow) === null || _b === void 0 ? void 0 : _b.currentData);
21779
21756
  if (!this.confirmEditCreate()) {
21780
- throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
21757
+ throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
21781
21758
  }
21782
21759
  // Mark as saving
21783
21760
  this.markAsSaving();
@@ -21894,7 +21871,7 @@ class AppTable {
21894
21871
  var _a;
21895
21872
  return __awaiter(this, void 0, void 0, function* () {
21896
21873
  if (this.readOnly) {
21897
- throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
21874
+ throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
21898
21875
  }
21899
21876
  if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
21900
21877
  return 0; // SKip
@@ -22508,6 +22485,13 @@ class AppTable {
22508
22485
  equals(d1, d2) {
22509
22486
  return EntityUtils.equals(d1, d2, 'id');
22510
22487
  }
22488
+ markRowAsDirty(row, opts) {
22489
+ var _a;
22490
+ row = row || this.editedRow;
22491
+ if (row)
22492
+ (_a = row.validator) === null || _a === void 0 ? void 0 : _a.markAsDirty(opts);
22493
+ this.markAsDirty(opts);
22494
+ }
22511
22495
  /* -- private method -- */
22512
22496
  setLoading(value, opts) {
22513
22497
  if (this.loadingSubject.value !== value) {
@@ -23413,7 +23397,7 @@ class AppEntityEditor extends AppTabEditor {
23413
23397
  try {
23414
23398
  const data = yield this.dataService.load(id, opts);
23415
23399
  if (!data)
23416
- throw { code: ErrorCodes$2.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
23400
+ throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
23417
23401
  this._usageMode = this.computeUsageMode(data);
23418
23402
  yield this.onEntityLoaded(data, opts);
23419
23403
  yield this.updateView(data, opts);
@@ -24318,7 +24302,7 @@ class UserEventService extends BaseGraphqlService {
24318
24302
  EntityUtils.copyIdAndUpdateDate(source, target);
24319
24303
  }
24320
24304
  }
24321
- 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" });
24305
+ 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" });
24322
24306
  UserEventService.decorators = [
24323
24307
  { type: Injectable, args: [{ providedIn: 'root' },] }
24324
24308
  ];
@@ -24703,7 +24687,7 @@ class PersonService extends BaseEntityService {
24703
24687
  return target;
24704
24688
  }
24705
24689
  }
24706
- 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" });
24690
+ PersonService.ɵprov = ɵɵdefineInjectable({ factory: function PersonService_Factory() { return new PersonService(ɵɵinject(GraphqlService), ɵɵinject(PlatformService), ɵɵinject(NetworkService), ɵɵinject(EntitiesStorage)); }, token: PersonService, providedIn: "root" });
24707
24691
  PersonService.decorators = [
24708
24692
  { type: Injectable, args: [{ providedIn: 'root' },] }
24709
24693
  ];
@@ -24734,7 +24718,7 @@ class PersonValidatorService {
24734
24718
  return this.formBuilder.group(formConfig);
24735
24719
  }
24736
24720
  }
24737
- PersonValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
24721
+ PersonValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
24738
24722
  PersonValidatorService.decorators = [
24739
24723
  { type: Injectable, args: [{ providedIn: 'root' },] }
24740
24724
  ];
@@ -24940,16 +24924,16 @@ AdminModule.decorators = [
24940
24924
  ];
24941
24925
  AdminModule.ctorParameters = () => [];
24942
24926
 
24943
- const ɵ0 = {
24927
+ const ɵ0$b = {
24944
24928
  profile: 'ADMIN'
24945
24929
  };
24946
- const routes = [
24930
+ const routes$1 = [
24947
24931
  {
24948
24932
  path: 'users',
24949
24933
  pathMatch: 'full',
24950
24934
  component: UsersPage,
24951
24935
  canActivate: [AuthGuardService],
24952
- data: ɵ0
24936
+ data: ɵ0$b
24953
24937
  }
24954
24938
  ];
24955
24939
  class AdminRoutingModule {
@@ -24959,13 +24943,13 @@ AdminRoutingModule.decorators = [
24959
24943
  imports: [
24960
24944
  SharedRoutingModule,
24961
24945
  AdminModule,
24962
- RouterModule.forChild(routes)
24946
+ RouterModule.forChild(routes$1)
24963
24947
  ],
24964
24948
  exports: [RouterModule]
24965
24949
  },] }
24966
24950
  ];
24967
24951
 
24968
- const ErrorCodes = {
24952
+ const ErrorCodes$2 = {
24969
24953
  LOAD_PERSONS_ERROR: 100,
24970
24954
  SAVE_PERSONS_ERROR: 101,
24971
24955
  DELETE_PERSONS_ERROR: 102,
@@ -24977,5 +24961,5 @@ const ErrorCodes = {
24977
24961
  * Generated bundle index. Do not edit.
24978
24962
  */
24979
24963
 
24980
- export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_FORM_ERROR_I18N_KEYS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_MENU_ITEMS, APP_TESTING_PAGES, AboutModal, Account, AccountPage, AccountService, AccountToStringPipe, ActionsColumnComponent, AdminModule, AdminRoutingModule, Alerts, AnimationState, AppEditor, AppEditorOptions, AppEntityEditor, AppForm, AppFormField, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppInMemoryTable, AppInstallUpgradeCard, AppListForm, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppTabEditor, AppTabEditorOptions, AppTable, AppTableDataSourceOptions, AppTableUtils, AppValidatorService, AppendToInputDirective, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayLengthPipe, ArrayPluckPipe, AudioProvider, AuthForm, AuthGuardService, AuthModal, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CryptoService, DATE_ISO_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFromNowPipe, DateTimeTestPage, DateUtils, Department, DepartmentToStringPipe, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes, EvenPipe, FileService, FileSizePipe, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, Fragments, GraphqlService, HAMMER_PRESS_TIME, HAMMER_TAP_TIME, HighlightPipe, HomePage, Hotkeys, HotkeysDialogComponent, InMemoryEntitiesService, IsLoginAccountPipe, IsNilOrBlankPipe, IsNotNilOrBlankPipe, IsNotOnFieldModePipe, IsOnFieldModePipe, JobUtils, KEYBOARD_HIDE_DELAY_MS, LAT_LONG_DEFAULT_MAX_DECIMALS, LAT_LONG_PATTERNS, LatLongFormatPipe, LatLongTestPage, LatitudeFormatPipe, LocalSettingsService, LongitudeFormatPipe, MINIFY_ENTITY_FOR_LOCAL_STORAGE, MINIFY_ENTITY_FOR_POD, MapGetPipe, MapKeysPipe, MapValuesPipe, MatAutocompleteConfigHolder, MatAutocompleteField, MatBooleanField, MatChipsField, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatNumpadComponent, MatNumpadContainerComponent, MatNumpadContent, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialChipsModule, MaterialTestingModule, MaterialTestingPage, MathAbsPipe, MenuComponent, MenuItems, MenuService, ModalToolbarComponent, NetworkService, NgInitDirective, NotEmptyArrayPipe, NumberFormatPipe, NumpadDirective, OddPipe, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialRef, ReferentialUtils, RegisterConfirmPage, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, SettingsPage, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBooleanModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedValidators, SocialModule, Software, StartableService, StatusById, StatusIds, StatusList, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UserEvent, UserEventFilter, UserEventService, UserEventTypes, UserEventsTable, UserSettings, UsersPage, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equals, equalsOrNil, fadeInAnimation, fadeInOutAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, firstArrayValue, firstFalse, firstFalsePromise, firstNotNil, firstNotNilPromise, firstTrue, firstTruePromise, focusInput, focusNextInput, focusPreviousInput, formatLatitude, formatLongitude, fromDateISOString, fromScrollEndEvent, fromUnixMsTimestamp, fromUnixTimestamp, getCaretPosition, getColorContrast, getColorShade, getColorTint, getConnectionType, getControlFromPath, getFocusableInputElements, getFormErrors, getFormValueFromEntity, getProperty, getPropertyByPath, getPropertyByPathAsString, getRandomImage, hexToRgb, hexToRgbArray, isControlHasInput, isEmptyArray, isInputElement, isInstanceOf, isInt, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, joinProperties, joinPropertiesPath, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchUpperCase, mergeLoadResult, mixHex, moveInputCaretToSeparator, noTrailingSlash, notNilOrDefault, nullIfUndefined, parseLatitudeOrLongitude, propertiesPathComparator, propertyComparator, propertyPathComparator, referentialToString, referentialsToString, remove, removeAll, removeDiacritics, removeDuplicatesFromArray, removeEnd, removeValueInArray, replaceAll, resetCalculatedValue, resizeArray, rgbArrayToHex, rgbToHex, round, scrollFactory, selectInputContent, selectInputRange, setCalculatedValue, setTabIndex, sleep, slideInOutAnimation, slideUpDownAnimation, sort, splitById, splitByProperty, startsWithUpperCase, suggestFromArray, suggestFromStringArray, tabindexComparator, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, uncapitalizeFirstLetter, updateValueAndValidity, waitFor, waitForTrue, waitIdle, waitWhilePending, CustomReuseStrategy as ɵa, MatNumpadDomService as ɵb, SharedMatBadgeIconModule as ɵc, MatBadgeIconDirective as ɵd, isFocusableElement as ɵe, MatBadgeIconTestPage as ɵf, RegisterForm as ɵg, AccountValidatorService as ɵh, RegisterModal as ɵi, UserSettingsValidatorService as ɵj, LocalSettingsValidatorService as ɵk, AppIconComponent as ɵl };
24964
+ export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_FORM_ERROR_I18N_KEYS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_MENU_ITEMS, APP_TESTING_PAGES, AboutModal, Account, AccountPage, AccountService, AccountToStringPipe, ActionsColumnComponent, AdminModule, AdminRoutingModule, Alerts, AnimationState, AppEditor, AppEditorOptions, AppEntityEditor, AppForm, AppFormField, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppInMemoryTable, AppInstallUpgradeCard, AppListForm, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppTabEditor, AppTabEditorOptions, AppTable, AppTableDataSourceOptions, AppTableUtils, AppValidatorService, AppendToInputDirective, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayLengthPipe, ArrayPluckPipe, AudioProvider, AuthForm, AuthGuardService, AuthModal, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CryptoService, DATE_ISO_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFromNowPipe, DateTimeTestPage, DateUtils, Department, DepartmentToStringPipe, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes$2 as ErrorCodes, EvenPipe, FileService, FileSizePipe, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, Fragments$1 as Fragments, GraphqlService, HAMMER_PRESS_TIME, HAMMER_TAP_TIME, HighlightPipe, HomePage, Hotkeys, HotkeysDialogComponent, InMemoryEntitiesService, IsLoginAccountPipe, IsNilOrBlankPipe, IsNotNilOrBlankPipe, IsNotOnFieldModePipe, IsOnFieldModePipe, JobUtils, KEYBOARD_HIDE_DELAY_MS, LAT_LONG_DEFAULT_MAX_DECIMALS, LAT_LONG_PATTERNS, LatLongFormatPipe, LatLongTestPage, LatitudeFormatPipe, LocalSettingsService, LongitudeFormatPipe, MINIFY_ENTITY_FOR_LOCAL_STORAGE, MINIFY_ENTITY_FOR_POD, MapGetPipe, MapKeysPipe, MapValuesPipe, MatAutocompleteConfigHolder, MatAutocompleteField, MatBooleanField, MatChipsField, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatNumpadComponent, MatNumpadContainerComponent, MatNumpadContent, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialChipsModule, MaterialTestingModule, MaterialTestingPage, MathAbsPipe, MenuComponent, MenuItems, MenuService, ModalToolbarComponent, NetworkService, NgInitDirective, NotEmptyArrayPipe, NumberFormatPipe, NumpadDirective, OddPipe, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialRef, ReferentialUtils, RegisterConfirmPage, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, SettingsPage, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBooleanModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedValidators, SocialModule, Software, StartableService, StatusById, StatusIds, StatusList, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UserEvent, UserEventFilter, UserEventService, UserEventTypes, UserEventsTable, UserSettings, UsersPage, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equals, equalsOrNil, fadeInAnimation, fadeInOutAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, firstArrayValue, firstFalse, firstFalsePromise, firstNotNil, firstNotNilPromise, firstTrue, firstTruePromise, focusInput, focusNextInput, focusPreviousInput, formatLatitude, formatLongitude, fromDateISOString, fromScrollEndEvent, fromUnixMsTimestamp, fromUnixTimestamp, getCaretPosition, getColorContrast, getColorShade, getColorTint, getConnectionType, getControlFromPath, getFocusableInputElements, getFormErrors, getFormValueFromEntity, getProperty, getPropertyByPath, getPropertyByPathAsString, getRandomImage, hexToRgb, hexToRgbArray, isControlHasInput, isEmptyArray, isInputElement, isInstanceOf, isInt, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, joinProperties, joinPropertiesPath, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchUpperCase, mergeLoadResult, mixHex, moveInputCaretToSeparator, noTrailingSlash, notNilOrDefault, nullIfUndefined, parseLatitudeOrLongitude, propertiesPathComparator, propertyComparator, propertyPathComparator, referentialToString, referentialsToString, remove, removeAll, removeDiacritics, removeDuplicatesFromArray, removeEnd, removeValueInArray, replaceAll, resetCalculatedValue, resizeArray, rgbArrayToHex, rgbToHex, round, scrollFactory, selectInputContent, selectInputRange, setCalculatedValue, setTabIndex, sleep, slideInOutAnimation, slideUpDownAnimation, sort, splitById, splitByProperty, startsWithUpperCase, suggestFromArray, suggestFromStringArray, tabindexComparator, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, uncapitalizeFirstLetter, updateValueAndValidity, waitFor, waitForTrue, waitIdle, waitWhilePending, ɵ0$7 as ɵ0, CustomReuseStrategy as ɵa, MatNumpadDomService as ɵb, SharedMatBadgeIconModule as ɵc, MatBadgeIconDirective as ɵd, isFocusableElement as ɵe, MatBadgeIconTestPage as ɵf, RegisterForm as ɵg, AccountValidatorService as ɵh, RegisterModal as ɵi, UserSettingsValidatorService as ɵj, LocalSettingsValidatorService as ɵk, AppIconComponent as ɵl };
24981
24965
  //# sourceMappingURL=sumaris-net.ngx-components.js.map