@sumaris-net/ngx-components 2.9.0-alpha2 → 2.9.0-alpha3

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.
Files changed (50) hide show
  1. package/doc/changelog.md +3 -0
  2. package/esm2022/src/app/core/account/account.page.mjs +2 -1
  3. package/esm2022/src/app/core/auth/auth.form.mjs +2 -1
  4. package/esm2022/src/app/core/form/entity/entity-editor-modal.class.mjs +2 -1
  5. package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +2 -1
  6. package/esm2022/src/app/core/form/entity/tab-editor.class.mjs +2 -1
  7. package/esm2022/src/app/core/form/form.class.mjs +4 -4
  8. package/esm2022/src/app/core/form/text-popover/text-popover.component.mjs +2 -1
  9. package/esm2022/src/app/core/home/home.mjs +2 -1
  10. package/esm2022/src/app/core/menu/menu.component.mjs +2 -1
  11. package/esm2022/src/app/core/menu/menu.service.mjs +2 -1
  12. package/esm2022/src/app/core/register/register.form.mjs +3 -3
  13. package/esm2022/src/app/core/services/config.service.mjs +2 -1
  14. package/esm2022/src/app/core/services/network.service.mjs +2 -1
  15. package/esm2022/src/app/core/services/platform.service.mjs +4 -3
  16. package/esm2022/src/app/core/settings/settings.page.mjs +2 -1
  17. package/esm2022/src/app/core/table/async-table.class.mjs +4 -3
  18. package/esm2022/src/app/core/table/entities-table-datasource.class.mjs +2 -1
  19. package/esm2022/src/app/core/table/table.class.mjs +4 -3
  20. package/esm2022/src/app/shared/form/field.component.mjs +2 -1
  21. package/esm2022/src/app/shared/functions.mjs +2 -1
  22. package/esm2022/src/app/shared/image/gallery/image-gallery.component.mjs +2 -1
  23. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +2 -1
  24. package/esm2022/src/app/shared/material/boolean/material.boolean.mjs +2 -1
  25. package/esm2022/src/app/shared/material/datetime/material.date.mjs +2 -1
  26. package/esm2022/src/app/shared/material/datetime/material.dateshort.mjs +2 -1
  27. package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +9 -8
  28. package/esm2022/src/app/shared/material/duration/material.duration.mjs +2 -1
  29. package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +2 -1
  30. package/esm2022/src/app/shared/material/latlong/testing/latlong.test.mjs +2 -1
  31. package/esm2022/src/app/shared/material/swipe/material.swipe.mjs +2 -1
  32. package/esm2022/src/app/shared/pipes/form.pipes.mjs +39 -14
  33. package/esm2022/src/app/shared/pipes/pipes.module.mjs +6 -3
  34. package/esm2022/src/app/shared/toolbar/toolbar.mjs +2 -1
  35. package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.mjs +2 -1
  36. package/esm2022/src/app/shared/validator/form-error-adapter.class.mjs +6 -6
  37. package/esm2022/src/app/shared/validator/validators.mjs +6 -8
  38. package/esm2022/src/app/social/job/progression/job-progression.icon.mjs +2 -1
  39. package/esm2022/src/app/social/message/message.modal.mjs +2 -1
  40. package/fesm2022/sumaris-net.ngx-components.mjs +126 -100
  41. package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
  42. package/package.json +4 -4
  43. package/src/app/core/form/form.class.d.ts +3 -3
  44. package/src/app/core/table/async-table.class.d.ts +3 -3
  45. package/src/app/core/table/table.class.d.ts +3 -3
  46. package/src/app/shared/pipes/form.pipes.d.ts +15 -5
  47. package/src/app/shared/pipes/pipes.module.d.ts +1 -1
  48. package/src/app/shared/validator/form-error-adapter.class.d.ts +5 -5
  49. package/src/app/shared/validator/validators.d.ts +1 -5
  50. package/src/assets/manifest.json +1 -1
@@ -1,7 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, Directive, Pipe, Injectable, EventEmitter, Output, Optional, Inject, NgModule, forwardRef, Component, ChangeDetectionStrategy, Input, ViewChildren, HostBinding, HostListener, ElementRef, ViewChild, ANIMATION_MODULE_TYPE, inject, RendererStyleFlags2, ChangeDetectorRef, booleanAttribute, numberAttribute, ContentChild, CUSTOM_ELEMENTS_SCHEMA, ViewEncapsulation, APP_INITIALIZER } from '@angular/core';
3
- import { firstValueFrom, shareReplay, tap, of, Subject, merge, timer, isObservable, from, Subscription, BehaviorSubject, fromEvent, noop as noop$a, Observable, forkJoin, defer, timeout, debounceTime as debounceTime$1, distinctUntilChanged as distinctUntilChanged$1, fromEventPattern, interval, combineLatest, mergeMap as mergeMap$1, EMPTY, switchMap as switchMap$1, delay } from 'rxjs';
3
+ import { firstValueFrom, shareReplay, tap, of, Subject, merge, delay, isObservable, from, Subscription, timer, BehaviorSubject, fromEvent, noop as noop$a, Observable, forkJoin, defer, timeout, debounceTime as debounceTime$1, distinctUntilChanged as distinctUntilChanged$1, fromEventPattern, interval, combineLatest, mergeMap as mergeMap$1, EMPTY, switchMap as switchMap$1 } from 'rxjs';
4
4
  import { catchError, map, first, tap as tap$1, switchMap, takeUntil, filter, debounceTime, startWith, distinctUntilChanged, mergeMap, skip, finalize, throttleTime, bufferWhen, mapTo, distinctUntilKeyChanged, take } from 'rxjs/operators';
5
+ import { setTimeout as setTimeout$1 } from '@rx-angular/cdk/zone-less/browser';
5
6
  import * as i3$1 from '@angular/common';
6
7
  import { CommonModule, DOCUMENT, Location } from '@angular/common';
7
8
  import { CdkTableModule } from '@angular/cdk/table';
@@ -535,7 +536,7 @@ function setPropertyByPath(obj, path, value) {
535
536
  function sleep(ms) {
536
537
  if (ms <= 0)
537
538
  return;
538
- return new Promise((resolve) => setTimeout(resolve, ms));
539
+ return new Promise((resolve) => setTimeout$1(resolve, ms));
539
540
  }
540
541
  function round(value) {
541
542
  if (isNotNilOrNaN(value)) {
@@ -2036,7 +2037,7 @@ class SharedValidators {
2036
2037
  dateMinDuration: 'ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION',
2037
2038
  dateMaxDuration: 'ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION',
2038
2039
  maxDecimals: 'ERROR.FIELD_MAXIMUM_DECIMALS',
2039
- double: 'ERROR.FIELD_NOT_VALID_DOUBLE',
2040
+ decimal: 'ERROR.FIELD_NOT_VALID_DECIMAL',
2040
2041
  integer: 'ERROR.FIELD_NOT_VALID_INTEGER',
2041
2042
  precision: 'ERROR.FIELD_NOT_VALID_PRECISION',
2042
2043
  email: 'ERROR.FIELD_NOT_VALID_EMAIL',
@@ -2096,10 +2097,6 @@ class SharedValidators {
2096
2097
  }
2097
2098
  return null;
2098
2099
  }
2099
- /**
2100
- * @deprecated use decimal
2101
- */
2102
- static double = SharedValidators.decimal;
2103
2100
  static decimal(opts) {
2104
2101
  const regexp = this.getDoubleRegexp(opts?.maxDecimals);
2105
2102
  return (control) => {
@@ -2526,8 +2523,9 @@ class SharedAsyncValidators {
2526
2523
  // Stop previous observables
2527
2524
  $disposeSubject.next();
2528
2525
  let now;
2526
+ return of(null).pipe(
2529
2527
  // Add a delay before execution
2530
- return timer(debounceTime).pipe(
2528
+ delay(debounceTime),
2531
2529
  // DEBUG
2532
2530
  tap$1((_) => {
2533
2531
  if (debug) {
@@ -2576,7 +2574,7 @@ class SharedAsyncValidators {
2576
2574
  // Clear added validator. Must be done NOW (without delay) because generally a new Job is given just after
2577
2575
  form.clearAsyncValidators();
2578
2576
  // Stop the job, with a delay to let the last execution finished
2579
- setTimeout(() => {
2577
+ setTimeout$1(() => {
2580
2578
  $dispose.next();
2581
2579
  $dispose.unsubscribe();
2582
2580
  }, debounceTime);
@@ -3834,7 +3832,7 @@ class FormErrorTranslator {
3834
3832
  // Should be a control map of errors
3835
3833
  if (childControl) {
3836
3834
  // Try to convert the control path
3837
- const i18nPath = this.translateControlPath(path, opts);
3835
+ const i18nPath = this.translateFormPath(path, opts);
3838
3836
  // OK, we have a field name: use it
3839
3837
  const columnErrors = Object.keys(childControl.errors).map((errorKey) => this.translateError(errorKey, childControl.errors[errorKey]));
3840
3838
  if (isEmptyArray(columnErrors))
@@ -3859,7 +3857,7 @@ class FormErrorTranslator {
3859
3857
  // Should be a control map of errors
3860
3858
  if (pathErrors) {
3861
3859
  // Try to convert the control path
3862
- const i18nPath = this.translateControlPath(path, opts);
3860
+ const i18nPath = this.translateFormPath(path, opts);
3863
3861
  // OK, we have a field name: use it
3864
3862
  const columnErrors = Object.keys(pathErrors).map((errorKey) => this.translateError(errorKey, pathErrors[errorKey]));
3865
3863
  if (isEmptyArray(columnErrors))
@@ -3876,9 +3874,9 @@ class FormErrorTranslator {
3876
3874
  return res + (res.length ? separator : '') + formError;
3877
3875
  }, ''));
3878
3876
  }
3879
- translateControlPath(path, opts) {
3880
- if (opts?.controlPathTranslator) {
3881
- return opts?.controlPathTranslator.translateControlPath(path);
3877
+ translateFormPath(path, opts) {
3878
+ if (opts?.pathTranslator) {
3879
+ return opts?.pathTranslator.translateFormPath(path);
3882
3880
  }
3883
3881
  const i18nKey = ((opts && opts.i18nPrefix) || '') + changeCaseToUnderscore(path).toUpperCase();
3884
3882
  return this.translate.instant(i18nKey);
@@ -3913,15 +3911,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
3913
3911
  args: [APP_FORM_ERROR_I18N_KEYS]
3914
3912
  }] }] });
3915
3913
 
3916
- class FormErrorTranslatePipe {
3917
- adapter;
3914
+ class FormErrorPipe {
3915
+ service;
3918
3916
  _ref;
3919
- value = '';
3917
+ _value = '';
3920
3918
  _lastForm = null;
3921
3919
  _lastOptions = null;
3922
3920
  _onFormStatusChanges;
3923
- constructor(adapter, _ref) {
3924
- this.adapter = adapter;
3921
+ constructor(service, _ref) {
3922
+ this.service = service;
3925
3923
  this._ref = _ref;
3926
3924
  }
3927
3925
  transform(form, opts) {
@@ -3931,7 +3929,7 @@ class FormErrorTranslatePipe {
3931
3929
  }
3932
3930
  // if we ask another time for the same form and opts, return the last value
3933
3931
  if (form === this._lastForm && equals(opts, this._lastOptions)) {
3934
- return this.value;
3932
+ return this._value;
3935
3933
  }
3936
3934
  // store the query, in case it changes
3937
3935
  this._lastForm = form;
@@ -3947,18 +3945,21 @@ class FormErrorTranslatePipe {
3947
3945
  this._updateValue(form, opts, status);
3948
3946
  });
3949
3947
  }
3950
- return this.value;
3948
+ return this._value;
3951
3949
  }
3952
3950
  ngOnDestroy() {
3953
3951
  this._dispose();
3954
3952
  }
3955
3953
  _updateValue(form, opts, status) {
3956
- if (status === 'INVALID' || form.invalid) {
3957
- this.value = this.adapter.translateFormErrors(form, opts);
3958
- this._ref.markForCheck();
3954
+ if (status ? status === 'INVALID' : form.invalid) {
3955
+ const newValue = this.service.translateFormErrors(form, opts);
3956
+ if (newValue !== this._value) {
3957
+ this._value = newValue;
3958
+ this._ref.markForCheck();
3959
+ }
3959
3960
  }
3960
- else if (this.value !== undefined) {
3961
- this.value = undefined;
3961
+ else if (this._value !== undefined) {
3962
+ this._value = undefined;
3962
3963
  this._ref.markForCheck();
3963
3964
  }
3964
3965
  }
@@ -3969,6 +3970,27 @@ class FormErrorTranslatePipe {
3969
3970
  this._onFormStatusChanges?.unsubscribe();
3970
3971
  this._onFormStatusChanges = undefined;
3971
3972
  }
3973
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FormErrorPipe, deps: [{ token: FormErrorTranslator }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
3974
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: FormErrorPipe, name: "formError", pure: false });
3975
+ }
3976
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FormErrorPipe, decorators: [{
3977
+ type: Pipe,
3978
+ args: [{
3979
+ name: 'formError',
3980
+ pure: false,
3981
+ }]
3982
+ }], ctorParameters: () => [{ type: FormErrorTranslator }, { type: i0.ChangeDetectorRef }] });
3983
+ /**
3984
+ * Same a FormErrorPipe
3985
+ * @deprecated
3986
+ */
3987
+ class FormErrorTranslatePipe extends FormErrorPipe {
3988
+ constructor(service, _ref) {
3989
+ super(service, _ref);
3990
+ }
3991
+ transform(form, opts) {
3992
+ return super.transform(form, opts);
3993
+ }
3972
3994
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FormErrorTranslatePipe, deps: [{ token: FormErrorTranslator }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });
3973
3995
  static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: FormErrorTranslatePipe, name: "translateFormError", pure: false });
3974
3996
  }
@@ -4033,6 +4055,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
4033
4055
  }] });
4034
4056
  class FormGetValuePipe {
4035
4057
  _ref;
4058
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4036
4059
  _value = undefined;
4037
4060
  _lastControl = null;
4038
4061
  _lastPath;
@@ -4069,7 +4092,7 @@ class FormGetValuePipe {
4069
4092
  });
4070
4093
  // subscribe to statusChanges event
4071
4094
  if (listenStatusChanges) {
4072
- this._onControlStatusChanges = control.statusChanges.subscribe((status) => {
4095
+ this._onControlStatusChanges = control.statusChanges.subscribe(() => {
4073
4096
  const value = control.value;
4074
4097
  if (value !== this._value) {
4075
4098
  this._value = value;
@@ -4772,6 +4795,7 @@ const components$1 = [
4772
4795
  TranslateContextPipe,
4773
4796
  TranslatablePipe,
4774
4797
  NgInitDirective,
4798
+ FormErrorPipe,
4775
4799
  FormErrorTranslatePipe,
4776
4800
  FormGetPipe,
4777
4801
  FormGetControlPipe,
@@ -4836,6 +4860,7 @@ class SharedPipesModule {
4836
4860
  TranslateContextPipe,
4837
4861
  TranslatablePipe,
4838
4862
  NgInitDirective,
4863
+ FormErrorPipe,
4839
4864
  FormErrorTranslatePipe,
4840
4865
  FormGetPipe,
4841
4866
  FormGetControlPipe,
@@ -4896,6 +4921,7 @@ class SharedPipesModule {
4896
4921
  TranslateContextPipe,
4897
4922
  TranslatablePipe,
4898
4923
  NgInitDirective,
4924
+ FormErrorPipe,
4899
4925
  FormErrorTranslatePipe,
4900
4926
  FormGetPipe,
4901
4927
  FormGetControlPipe,
@@ -4996,7 +5022,7 @@ class MatDuration {
4996
5022
  set tabindex(value) {
4997
5023
  if (this._tabindex !== value) {
4998
5024
  this._tabindex = value;
4999
- setTimeout(() => this.updateTabIndex());
5025
+ setTimeout$1(() => this.updateTabIndex());
5000
5026
  }
5001
5027
  }
5002
5028
  get tabindex() {
@@ -5145,7 +5171,7 @@ class MatDuration {
5145
5171
  focus() {
5146
5172
  if (!this.matInputs.length)
5147
5173
  return;
5148
- setTimeout(() => {
5174
+ setTimeout$1(() => {
5149
5175
  const elementRef = this.matInputs[0]; // get the first element
5150
5176
  if (isFocusableElement(elementRef)) {
5151
5177
  elementRef.focus();
@@ -5161,7 +5187,7 @@ class MatDuration {
5161
5187
  if (isNil(this._tabindex) || this._tabindex === -1)
5162
5188
  return; // skip
5163
5189
  // Focus to first input
5164
- setTimeout(() => {
5190
+ setTimeout$1(() => {
5165
5191
  this.matInputs.forEach((elementRef, index) => {
5166
5192
  setTabIndex(elementRef, this._tabindex + index);
5167
5193
  });
@@ -5605,7 +5631,7 @@ class MatBooleanField {
5605
5631
  set tabindex(value) {
5606
5632
  if (this._tabindex !== value) {
5607
5633
  this._tabindex = value;
5608
- setTimeout(() => this.updateTabIndex());
5634
+ setTimeout$1(() => this.updateTabIndex());
5609
5635
  }
5610
5636
  }
5611
5637
  get tabindex() {
@@ -5668,7 +5694,7 @@ class MatBooleanField {
5668
5694
  this.formControl.patchValue(value, { emitEvent: false });
5669
5695
  this._onChangeCallback(value);
5670
5696
  }
5671
- setTimeout(() => {
5697
+ setTimeout$1(() => {
5672
5698
  this.updateFakeInput();
5673
5699
  this.updateTabIndex();
5674
5700
  });
@@ -5705,7 +5731,7 @@ class MatBooleanField {
5705
5731
  focus() {
5706
5732
  this._focused = true;
5707
5733
  this._onTouchedCallback();
5708
- setTimeout(() => {
5734
+ setTimeout$1(() => {
5709
5735
  if (this.yesButton) {
5710
5736
  this.yesButton.focus();
5711
5737
  this.yesButton._inputElement.nativeElement.onblur = (e) => this.onBlur(e);
@@ -6828,7 +6854,7 @@ class MatAutocompleteField {
6828
6854
  if (!event || event.defaultPrevented)
6829
6855
  return;
6830
6856
  // Need a timeout to prevent early blur event without triggering formChange event
6831
- setTimeout(() => {
6857
+ setTimeout$1(() => {
6832
6858
  // Ignore event from mat-option
6833
6859
  if ((event.relatedTarget instanceof HTMLElement && event.relatedTarget.tagName === 'MAT-OPTION') ||
6834
6860
  // Or autocomplete panel is open because event.relatedTarget is null (cf. https://github.com/angular/components/issues/24182)
@@ -7574,7 +7600,7 @@ class MatLatLongField {
7574
7600
  // Keep only the sign ('+' or '-') and placeholder chars, but NOT the '1'
7575
7601
  valueStr = valueStr && valueStr.replace('1', this.placeholderChar);
7576
7602
  // Wait end of focus animation (label should move to top)
7577
- setTimeout(() => {
7603
+ setTimeout$1(() => {
7578
7604
  // Set the value
7579
7605
  this.inputElement.nativeElement.value = valueStr;
7580
7606
  // Move cursor after the sign
@@ -7657,7 +7683,7 @@ class MatLatLongField {
7657
7683
  // DEBUG
7658
7684
  // console.debug('input direction entered:' + event.which + ' ' + event.keyCode + ' ' + event.charCode);
7659
7685
  // Capitalize (with a delay, to be sure the key has been applied to input text)
7660
- setTimeout(() => {
7686
+ setTimeout$1(() => {
7661
7687
  this.inputElement.nativeElement.value = this.inputElement.nativeElement.value.toUpperCase();
7662
7688
  }, 10);
7663
7689
  // OK
@@ -8038,7 +8064,7 @@ class MatDate {
8038
8064
  focus() {
8039
8065
  if (!this._matInput)
8040
8066
  return;
8041
- setTimeout(() => {
8067
+ setTimeout$1(() => {
8042
8068
  if (isFocusableElement(this._matInput.nativeElement)) {
8043
8069
  this._matInput.nativeElement.focus();
8044
8070
  }
@@ -8169,7 +8195,7 @@ class MatDate {
8169
8195
  if (isNil(this._tabindex) || this._tabindex === -1)
8170
8196
  return; // skip
8171
8197
  // Focus to input
8172
- setTimeout(() => {
8198
+ setTimeout$1(() => {
8173
8199
  setTabIndex(this._matInput, this._tabindex);
8174
8200
  this.markForCheck();
8175
8201
  });
@@ -8493,7 +8519,7 @@ class MatDateTime {
8493
8519
  const input = this.matInputs.first;
8494
8520
  if (!input)
8495
8521
  return;
8496
- setTimeout(() => {
8522
+ setTimeout$1(() => {
8497
8523
  if (isFocusableElement(input.nativeElement)) {
8498
8524
  input.nativeElement.focus();
8499
8525
  }
@@ -8635,11 +8661,7 @@ class MatDateTime {
8635
8661
  const hourParts = (timeStr || '').split(':');
8636
8662
  const hour = parseInt(hourParts[0] || 0);
8637
8663
  const minutes = parseInt(hourParts[1] || 0);
8638
- date.locale(this.locale)
8639
- .hour(hour)
8640
- .minute(minutes)
8641
- .seconds(0)
8642
- .millisecond(0);
8664
+ date.locale(this.locale).hour(hour).minute(minutes).seconds(0).millisecond(0);
8643
8665
  }
8644
8666
  else {
8645
8667
  DateUtils.markNoTime(date);
@@ -8671,8 +8693,12 @@ class MatDateTime {
8671
8693
  this.displayPattern = translations['COMMON.DATE_TIME_PATTERN'] !== 'COMMON.DATE_TIME_PATTERN' ? translations['COMMON.DATE_TIME_PATTERN'] : 'L LT';
8672
8694
  this.datePattern = translations['COMMON.DATE_PATTERN'] !== 'COMMON.DATE_PATTERN' ? translations['COMMON.DATE_PATTERN'] : 'DD/MM/YYYY';
8673
8695
  this.timePattern = translations['COMMON.TIME_PATTERN'] !== 'COMMON.TIME_PATTERN' ? translations['COMMON.TIME_PATTERN'] : 'HH:MM';
8674
- this.updateDateMaskOptions(translations['COMMON.DATE_PLACEHOLDER'] !== 'COMMON.DATE_PLACEHOLDER' ? translations['COMMON.DATE_PLACEHOLDER'] : this.datePattern?.toLowerCase());
8675
- this.updateTimeMaskOptions(translations['COMMON.TIME_PLACEHOLDER'] !== 'COMMON.TIME_PLACEHOLDER' ? translations['COMMON.TIME_PLACEHOLDER'] : this.timePattern?.toLowerCase());
8696
+ this.updateDateMaskOptions(translations['COMMON.DATE_PLACEHOLDER'] !== 'COMMON.DATE_PLACEHOLDER'
8697
+ ? translations['COMMON.DATE_PLACEHOLDER']
8698
+ : this.datePattern?.toLowerCase());
8699
+ this.updateTimeMaskOptions(translations['COMMON.TIME_PLACEHOLDER'] !== 'COMMON.TIME_PLACEHOLDER'
8700
+ ? translations['COMMON.TIME_PLACEHOLDER']
8701
+ : this.timePattern?.toLowerCase());
8676
8702
  }
8677
8703
  onFormChange() {
8678
8704
  if (this._writing)
@@ -8748,7 +8774,7 @@ class MatDateTime {
8748
8774
  if (isNil(this._tabindex) || this._tabindex === -1)
8749
8775
  return; // skip
8750
8776
  // Focus to first input
8751
- setTimeout(() => {
8777
+ setTimeout$1(() => {
8752
8778
  this.matInputs.forEach((elementRef, index) => {
8753
8779
  setTabIndex(elementRef, this._tabindex + index);
8754
8780
  });
@@ -9074,7 +9100,7 @@ class MatDateShort {
9074
9100
  focus() {
9075
9101
  if (!this._matInput)
9076
9102
  return;
9077
- setTimeout(() => {
9103
+ setTimeout$1(() => {
9078
9104
  if (isFocusableElement(this._matInput.nativeElement)) {
9079
9105
  this._matInput.nativeElement.focus();
9080
9106
  }
@@ -9201,7 +9227,7 @@ class MatDateShort {
9201
9227
  if (isNil(this._tabindex) || this._tabindex === -1)
9202
9228
  return; // skip
9203
9229
  // Focus to input
9204
- setTimeout(() => {
9230
+ setTimeout$1(() => {
9205
9231
  setTabIndex(this._matInput, this._tabindex);
9206
9232
  this.markForCheck();
9207
9233
  });
@@ -9390,7 +9416,7 @@ class MatSwipeField {
9390
9416
  set tabindex(value) {
9391
9417
  if (this._tabindex !== value) {
9392
9418
  this._tabindex = value;
9393
- setTimeout(() => this.updateTabIndex());
9419
+ setTimeout$1(() => this.updateTabIndex());
9394
9420
  }
9395
9421
  }
9396
9422
  get tabindex() {
@@ -9472,7 +9498,7 @@ class MatSwipeField {
9472
9498
  focus() {
9473
9499
  // show slides component
9474
9500
  this.showSlides = true;
9475
- setTimeout(() => {
9501
+ setTimeout$1(() => {
9476
9502
  if (this.prevButton) {
9477
9503
  this.prevButton.focus();
9478
9504
  }
@@ -9515,7 +9541,7 @@ class MatSwipeField {
9515
9541
  this._value = value;
9516
9542
  this.showSlides = isNotNil(this._value);
9517
9543
  this.updateSlides();
9518
- setTimeout(() => this.updateTabIndex());
9544
+ setTimeout$1(() => this.updateTabIndex());
9519
9545
  }
9520
9546
  this._writing = false;
9521
9547
  this.markForCheck();
@@ -9528,10 +9554,10 @@ class MatSwipeField {
9528
9554
  this._value = undefined;
9529
9555
  this.formControl.patchValue(null, { emitEvent: false });
9530
9556
  this.showSlides = false;
9531
- setTimeout(() => {
9557
+ setTimeout$1(() => {
9532
9558
  this.updateTabIndex();
9533
9559
  this.slideTo(0);
9534
- setTimeout(() => {
9560
+ setTimeout$1(() => {
9535
9561
  this._writing = false;
9536
9562
  }, 100);
9537
9563
  });
@@ -11940,7 +11966,7 @@ class AppForm {
11940
11966
  else
11941
11967
  this.disable();
11942
11968
  this.errorTranslatorOptions = this.errorTranslatorOptions || {
11943
- controlPathTranslator: this,
11969
+ pathTranslator: this,
11944
11970
  };
11945
11971
  }
11946
11972
  ngOnDestroy() {
@@ -12090,7 +12116,7 @@ class AppForm {
12090
12116
  if (!opts || opts.emitEvent !== false)
12091
12117
  this.markForCheck();
12092
12118
  }
12093
- translateControlPath(path) {
12119
+ translateFormPath(path) {
12094
12120
  const i18nFieldName = this.getI18nFieldName(path);
12095
12121
  return this.translate?.instant(i18nFieldName) || i18nFieldName;
12096
12122
  }
@@ -12099,7 +12125,7 @@ class AppForm {
12099
12125
  if (!form || !this.errorTranslator)
12100
12126
  return undefined;
12101
12127
  return this.errorTranslator.translateFormErrors(this.form, {
12102
- controlPathTranslator: this,
12128
+ pathTranslator: this,
12103
12129
  ...opts,
12104
12130
  });
12105
12131
  }
@@ -12826,7 +12852,7 @@ class AppFormField {
12826
12852
  return;
12827
12853
  this._onDefinitionChanged(this._definition);
12828
12854
  if (this.autocompleteField) {
12829
- setTimeout(() => this.autocompleteField?.reloadItems(value));
12855
+ setTimeout$1(() => this.autocompleteField?.reloadItems(value));
12830
12856
  }
12831
12857
  }
12832
12858
  /* -- protected method -- */
@@ -12904,7 +12930,7 @@ class AppFormField {
12904
12930
  }
12905
12931
  updateTabIndex(timeout) {
12906
12932
  if (this.tabindex && this.tabindex !== -1) {
12907
- setTimeout(() => {
12933
+ setTimeout$1(() => {
12908
12934
  const element = asInputElement(this.matInput);
12909
12935
  if (element) {
12910
12936
  element.tabIndex = this.tabindex;
@@ -15922,7 +15948,7 @@ class TextPopover {
15922
15948
  this.enable();
15923
15949
  }
15924
15950
  ngAfterViewInit() {
15925
- setTimeout(() => this.form.setValue({ text: this.text }), 0);
15951
+ setTimeout$1(() => this.form.setValue({ text: this.text }), 0);
15926
15952
  }
15927
15953
  async onValidate(event) {
15928
15954
  await waitWhilePending(this.form);
@@ -16517,7 +16543,7 @@ class NetworkService extends StartableObservableService {
16517
16543
  if (online) {
16518
16544
  // Call success callback (async)
16519
16545
  if (opts && opts.onRetrySuccess) {
16520
- setTimeout(opts.onRetrySuccess);
16546
+ setTimeout$1(opts.onRetrySuccess);
16521
16547
  }
16522
16548
  return true;
16523
16549
  }
@@ -20384,7 +20410,7 @@ class ConfigService extends BaseGraphqlService {
20384
20410
  }
20385
20411
  // Save it into local storage, for next startup
20386
20412
  if (data) {
20387
- setTimeout(() => this.storeLocally(data), 2000);
20413
+ setTimeout$1(() => this.storeLocally(data), 2000);
20388
20414
  }
20389
20415
  // If not loaded remotely: try to restore it
20390
20416
  else {
@@ -20707,7 +20733,7 @@ class PlatformService extends StartableService {
20707
20733
  }));
20708
20734
  if (this._mobile) {
20709
20735
  // Hide the splashscreen (if mobile) - after 1s - and play start sound
20710
- setTimeout(async () => {
20736
+ setTimeout$1(async () => {
20711
20737
  await SplashScreen.hide();
20712
20738
  // Play startup sound
20713
20739
  this.audioProvider.playStartupSound();
@@ -20813,9 +20839,9 @@ class PlatformService extends StartableService {
20813
20839
  }
20814
20840
  }
20815
20841
  async copyToClipboard(data, opts) {
20816
- const value = (typeof data === 'string') ? data : data.string;
20842
+ const value = typeof data === 'string' ? data : data.string;
20817
20843
  if (this.isAndroidCordova()) {
20818
- const writeOptions = (typeof data === 'string') ? { string: value } : data;
20844
+ const writeOptions = typeof data === 'string' ? { string: value } : data;
20819
20845
  await Clipboard.write(writeOptions);
20820
20846
  }
20821
20847
  else {
@@ -21354,7 +21380,7 @@ class ToolbarComponent {
21354
21380
  async toggleSearchBar() {
21355
21381
  this.showSearchBar = !this.showSearchBar;
21356
21382
  if (this.showSearchBar && this.searchbar) {
21357
- setTimeout(() => {
21383
+ setTimeout$1(() => {
21358
21384
  this.searchbar.setFocus();
21359
21385
  this.markForCheck();
21360
21386
  }, 300);
@@ -21406,7 +21432,7 @@ class ToolbarComponent {
21406
21432
  return;
21407
21433
  // Distinguish simple and double tap
21408
21434
  this._closeTapCount = event.tapCount;
21409
- setTimeout(() => {
21435
+ setTimeout$1(() => {
21410
21436
  // Event is obsolete (a new tap event occur)
21411
21437
  if (event.tapCount < this._closeTapCount) {
21412
21438
  // Ignore event
@@ -21428,7 +21454,7 @@ class ToolbarComponent {
21428
21454
  // Distinguish simple and double tap
21429
21455
  else {
21430
21456
  this._validateTapCount = event.tapCount;
21431
- setTimeout(() => {
21457
+ setTimeout$1(() => {
21432
21458
  // Event is obsolete (a new tap event occur)
21433
21459
  if (event.tapCount < this._validateTapCount) {
21434
21460
  // Ignore event
@@ -23295,7 +23321,7 @@ class AppImageGalleryComponent {
23295
23321
  this.onAfterEditRow.emit(row);
23296
23322
  }
23297
23323
  // Hide the toolbar, because the focus have been given to the event's origin (the edit button)
23298
- setTimeout(() => this.hideCardToolbar(cardToolbar), 750);
23324
+ setTimeout$1(() => this.hideCardToolbar(cardToolbar), 750);
23299
23325
  }
23300
23326
  showCardToolbar(cardToolbar) {
23301
23327
  const el = cardToolbar['el'];
@@ -25490,7 +25516,7 @@ class MenuService extends StartableObservableService {
25490
25516
  handler: () => {
25491
25517
  this.accountService.logout();
25492
25518
  // Back to home
25493
- setTimeout(() => this.navController.navigateRoot('/'), 100);
25519
+ setTimeout$1(() => this.navController.navigateRoot('/'), 100);
25494
25520
  },
25495
25521
  },
25496
25522
  ],
@@ -26017,7 +26043,7 @@ class MenuComponent {
26017
26043
  this.splitPane.when = value;
26018
26044
  this.detectChanges();
26019
26045
  // Propagate to the menu service
26020
- setTimeout(() => this.menuService.setSplitPaneShowWhen(value), 200);
26046
+ setTimeout$1(() => this.menuService.setSplitPaneShowWhen(value), 200);
26021
26047
  }
26022
26048
  }
26023
26049
  toggleSplitPaneShow(event) {
@@ -26057,7 +26083,7 @@ class MenuComponent {
26057
26083
  }
26058
26084
  markAsLoaded(opts) {
26059
26085
  if (this.loading) {
26060
- setTimeout(() => {
26086
+ setTimeout$1(() => {
26061
26087
  this.loading = false;
26062
26088
  if (!opts || opts.emitEvent !== false)
26063
26089
  this.markForCheck();
@@ -27000,7 +27026,7 @@ class RegisterForm {
27000
27026
  }
27001
27027
  emailAvailability(accountService) {
27002
27028
  return function (control) {
27003
- return timer(500).pipe(mergeMap(() => accountService
27029
+ return of(null).pipe(delay(500), mergeMap(() => accountService
27004
27030
  .checkEmailAvailable(control.value)
27005
27031
  .then((res) => null)
27006
27032
  .catch((err) => {
@@ -27172,7 +27198,7 @@ class AppAuthForm extends AppForm {
27172
27198
  const data = this.form.value;
27173
27199
  this.showPwd = false; // Hide password
27174
27200
  this.error = null; // Reset error
27175
- setTimeout(() => this.onSubmit.emit({
27201
+ setTimeout$1(() => this.onSubmit.emit({
27176
27202
  username: data.username,
27177
27203
  password: data.password,
27178
27204
  offline: data.offline,
@@ -27180,7 +27206,7 @@ class AppAuthForm extends AppForm {
27180
27206
  }
27181
27207
  register() {
27182
27208
  this.onCancel.emit();
27183
- setTimeout(async () => {
27209
+ setTimeout$1(async () => {
27184
27210
  const modal = await this.modalCtrl.create({
27185
27211
  component: RegisterModal,
27186
27212
  backdropDismiss: false,
@@ -27451,7 +27477,7 @@ class HomePage {
27451
27477
  this.markForCheck();
27452
27478
  // If first load, hide the loading indicator
27453
27479
  if (this.loading) {
27454
- setTimeout(() => {
27480
+ setTimeout$1(() => {
27455
27481
  this.loading = false;
27456
27482
  this.cd.detectChanges();
27457
27483
  }, 500); // Add a delay, for animation
@@ -28027,7 +28053,7 @@ class SettingsPage extends AppForm {
28027
28053
  // Apply inheritance
28028
28054
  this.setAccountInheritance(data.accountInheritance, { emitEvent: false });
28029
28055
  // Add a delay, because of option menu that is always opened after save!!
28030
- setTimeout(() => {
28056
+ setTimeout$1(() => {
28031
28057
  this.saving = false;
28032
28058
  this.markForCheck();
28033
28059
  }, 400);
@@ -28630,7 +28656,7 @@ class EntitiesTableDataSource extends TableDataSource {
28630
28656
  .deleteAll([row.currentData], this.serviceOptions)
28631
28657
  .catch((err) => this.handleServiceError(err))
28632
28658
  .then(() => {
28633
- setTimeout(() => {
28659
+ setTimeout$1(() => {
28634
28660
  // make sure row has been deleted (because GrapQHl cache remove can failed)
28635
28661
  const present = this.getRow(id) === row;
28636
28662
  if (present)
@@ -29139,7 +29165,7 @@ class AppTable {
29139
29165
  this.saveBeforeSort = toBoolean(this.saveBeforeSort, !this.readOnly); // force to false when readonly
29140
29166
  this.saveBeforeFilter = toBoolean(this.saveBeforeFilter, !this.readOnly); // force to false when readonly
29141
29167
  this.keepEditedRowOnSave = toBoolean(this.keepEditedRowOnSave, this.inlineEdition);
29142
- this.errorTranslatorOptions = this.errorTranslatorOptions || { separator: ', ', controlPathTranslator: this }; // Can be override in subclasses constructors
29168
+ this.errorTranslatorOptions = this.errorTranslatorOptions || { separator: ', ', pathTranslator: this }; // Can be override in subclasses constructors
29143
29169
  // Check ask user confirmation is possible
29144
29170
  if (this.confirmBeforeDelete && !this.alertCtrl)
29145
29171
  throw Error("Missing 'alertCtrl' or 'injector' in component's constructor.");
@@ -29747,7 +29773,7 @@ class AppTable {
29747
29773
  this.emitRefresh(event);
29748
29774
  // When target wait for a complete (e.g. IonRefresher)
29749
29775
  if (event?.target && event.target.complete) {
29750
- setTimeout(async () => {
29776
+ setTimeout$1(async () => {
29751
29777
  await this.waitIdle();
29752
29778
  event.target.complete();
29753
29779
  });
@@ -29802,7 +29828,7 @@ class AppTable {
29802
29828
  // By default, try to confirm the row
29803
29829
  this.confirmEditCreate(event, row);
29804
29830
  }
29805
- translateControlPath(path) {
29831
+ translateFormPath(path) {
29806
29832
  // Can be overridden by subclasses, to resolve all field name
29807
29833
  // Use columns key, has default name
29808
29834
  const i18nColumnKey = this.getI18nColumnName(path);
@@ -30272,7 +30298,7 @@ class AppTable {
30272
30298
  if (!this.table) {
30273
30299
  // DEBUG only -- alert user that table not found in template
30274
30300
  if (this.debug) {
30275
- setTimeout(() => !this.table &&
30301
+ setTimeout$1(() => !this.table &&
30276
30302
  console.warn(`[table] Missing <mat-table> in the HTML template (after waiting 500ms)! Component: ${this.constructor.name}`), 500);
30277
30303
  }
30278
30304
  // Make sure to wait the table
@@ -32326,7 +32352,7 @@ class AppAsyncTable {
32326
32352
  this.saveBeforeSort = toBoolean(this.saveBeforeSort, !this.readOnly); // force to false when readonly
32327
32353
  this.saveBeforeFilter = toBoolean(this.saveBeforeFilter, !this.readOnly); // force to false when readonly
32328
32354
  this.keepEditedRowOnSave = toBoolean(this.keepEditedRowOnSave, this.inlineEdition);
32329
- this.errorTranslatorOptions = this.errorTranslatorOptions || { separator: ', ', controlPathTranslator: this }; // Can be override in subclasses constructors
32355
+ this.errorTranslatorOptions = this.errorTranslatorOptions || { separator: ', ', pathTranslator: this }; // Can be override in subclasses constructors
32330
32356
  // Check ask user confirmation is possible
32331
32357
  if (this.confirmBeforeDelete && !this.alertCtrl)
32332
32358
  throw Error("Missing 'alertCtrl' or 'injector' in component's constructor.");
@@ -32912,7 +32938,7 @@ class AppAsyncTable {
32912
32938
  this.emitRefresh(event);
32913
32939
  // When target wait for a complete (e.g. IonRefresher)
32914
32940
  if (event?.target && event.target.complete) {
32915
- setTimeout(async () => {
32941
+ setTimeout$1(async () => {
32916
32942
  await this.waitIdle();
32917
32943
  event.target.complete();
32918
32944
  });
@@ -32966,7 +32992,7 @@ class AppAsyncTable {
32966
32992
  // By default, try to confirm the row
32967
32993
  await this.confirmEditCreate(event, row);
32968
32994
  }
32969
- translateControlPath(path) {
32995
+ translateFormPath(path) {
32970
32996
  // Can be overridden by subclasses, to resolve all field name
32971
32997
  // Use columns key, has default name
32972
32998
  const i18nColumnKey = this.getI18nColumnName(path);
@@ -33434,7 +33460,7 @@ class AppAsyncTable {
33434
33460
  if (!this.table) {
33435
33461
  // DEBUG only -- alert user that table not found in template
33436
33462
  if (this.debug) {
33437
- setTimeout(() => !this.table &&
33463
+ setTimeout$1(() => !this.table &&
33438
33464
  console.warn(`[table] Missing <mat-table> in the HTML template (after waiting 500ms)! Component: ${this.constructor.name}`), 500);
33439
33465
  }
33440
33466
  // Make sure to wait the table
@@ -34350,7 +34376,7 @@ class AppTabEditor extends AppEditor {
34350
34376
  }
34351
34377
  }
34352
34378
  // Realign tab, after a delay because the tab can be disabled when component is created
34353
- setTimeout(() => this.tabGroup.realignInkBar(), 500);
34379
+ setTimeout$1(() => this.tabGroup.realignInkBar(), 500);
34354
34380
  }));
34355
34381
  }
34356
34382
  }
@@ -34373,7 +34399,7 @@ class AppTabEditor extends AppEditor {
34373
34399
  this.tabGroup.selectedIndex = value;
34374
34400
  this.markForCheck();
34375
34401
  // Wait tab change in UI, before realign ink tab
34376
- setTimeout(() => this.tabGroup.realignInkBar(), 200);
34402
+ setTimeout$1(() => this.tabGroup.realignInkBar(), 200);
34377
34403
  }
34378
34404
  else if (!opts || opts.emitEvent !== false) {
34379
34405
  this.markForCheck();
@@ -34434,7 +34460,7 @@ class AppTabEditor extends AppEditor {
34434
34460
  console.error('[tab-page] Unknown swipe action: ' + event.type);
34435
34461
  return false;
34436
34462
  }
34437
- setTimeout(() => {
34463
+ setTimeout$1(() => {
34438
34464
  this.selectedTabIndex = selectTabIndex;
34439
34465
  this.markForCheck();
34440
34466
  });
@@ -34570,7 +34596,7 @@ class AppEntityEditorModal extends AppTabEditor {
34570
34596
  }
34571
34597
  else {
34572
34598
  // Use a timeout to avoid error 'NG0100: ExpressionChangedAfterItHasBeenCheckedError'
34573
- setTimeout(() => this.load());
34599
+ setTimeout$1(() => this.load());
34574
34600
  }
34575
34601
  }
34576
34602
  ngOnDestroy() {
@@ -35191,7 +35217,7 @@ class AccountPage extends AppForm {
35191
35217
  }));
35192
35218
  this.registerSubscription(this.configService.config.subscribe((config) => this.onConfigLoaded(config)));
35193
35219
  // Realign tab, after a delay because the tab can be disabled when component is created
35194
- setTimeout(() => this.tabGroup.realignInkBar(), 500);
35220
+ setTimeout$1(() => this.tabGroup.realignInkBar(), 500);
35195
35221
  }
35196
35222
  ngOnDestroy() {
35197
35223
  super.ngOnDestroy();
@@ -35331,7 +35357,7 @@ class AccountPage extends AppForm {
35331
35357
  this.disable();
35332
35358
  await this.accountService.save(newAccount);
35333
35359
  // Reload
35334
- setTimeout(() => this.onLogin(this.accountService.account), 100);
35360
+ setTimeout$1(() => this.onLogin(this.accountService.account), 100);
35335
35361
  this.markAsPristine();
35336
35362
  return true;
35337
35363
  }
@@ -35955,7 +35981,7 @@ class AppEntityEditor extends AppTabEditor {
35955
35981
  super.ngAfterViewInit();
35956
35982
  // Load data
35957
35983
  if (this._autoLoad) {
35958
- setTimeout(() => this.loadFromRoute(), this._autoLoadDelay);
35984
+ setTimeout$1(() => this.loadFromRoute(), this._autoLoadDelay);
35959
35985
  }
35960
35986
  }
35961
35987
  ngOnDestroy() {
@@ -36290,7 +36316,7 @@ class AppEntityEditor extends AppTabEditor {
36290
36316
  return false;
36291
36317
  }
36292
36318
  // Wait, then go back (wait is need in order to update back href is need)
36293
- await setTimeout(() => this.goBack(), 500);
36319
+ await setTimeout$1(() => this.goBack(), 500);
36294
36320
  return true;
36295
36321
  }
36296
36322
  async reload() {
@@ -37685,7 +37711,7 @@ class MessageModal {
37685
37711
  this.canSelectType = toBoolean(this.canSelectType, this.accountService.isAdmin());
37686
37712
  }
37687
37713
  ngAfterViewInit() {
37688
- setTimeout(() => {
37714
+ setTimeout$1(() => {
37689
37715
  this.form.markAsReady({ emitEvent: false });
37690
37716
  if (this.data) {
37691
37717
  this.data.type = this.data.type || MessageTypes.INBOX_MESSAGE;
@@ -38058,7 +38084,7 @@ class JobProgressionIcon extends RxState {
38058
38084
  // emit event
38059
38085
  this.jobFinished.emit(progression.id);
38060
38086
  if (this.autoRemove) {
38061
- setTimeout(() => {
38087
+ setTimeout$1(() => {
38062
38088
  this.stopListenJob(progression.id);
38063
38089
  }, this.autoRemoveDelay);
38064
38090
  }
@@ -39412,7 +39438,7 @@ class LatLongTestPage {
39412
39438
  this.form.get('enable').valueChanges.subscribe((value) => disableFormGroup.setValue(value));
39413
39439
  }
39414
39440
  ngOnInit() {
39415
- setTimeout(() => this.loadData(), 250);
39441
+ setTimeout$1(() => this.loadData(), 250);
39416
39442
  }
39417
39443
  toggleMode(value) {
39418
39444
  if (this.mode !== value) {
@@ -39465,7 +39491,7 @@ class LatLongTestPage {
39465
39491
  }
39466
39492
  this.geoPositionMessage = logMessage;
39467
39493
  // Clean the log message, if same
39468
- setTimeout(() => {
39494
+ setTimeout$1(() => {
39469
39495
  if (this.geoPositionMessage === logMessage) {
39470
39496
  this.geoPositionMessage = null;
39471
39497
  }
@@ -40238,7 +40264,7 @@ class UploadFileTestingPage {
40238
40264
  return { type: HttpEventType.UploadProgress, total: file.size, loaded };
40239
40265
  }
40240
40266
  // Stop the timer
40241
- setTimeout(() => $stop.next(), 1000);
40267
+ setTimeout$1(() => $stop.next(), 1000);
40242
40268
  // Return final response
40243
40269
  return new HttpResponse({ body: { finalName: file.name } });
40244
40270
  }));
@@ -42330,5 +42356,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
42330
42356
  * Generated bundle index. Do not edit.
42331
42357
  */
42332
42358
 
42333
- export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_DEBUG_DATA_SERVICE, APP_FORM_ERROR_I18N_KEYS, APP_GRAPHQL_FRAGMENTS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_JOB_PROGRESSION_SERVICE, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_LOGGING_SERVICE, APP_MENU_ITEMS, APP_MENU_OPTIONS, APP_NAMED_FILTER_SERVICE, APP_PROGRESS_BAR_SERVICE, APP_SETTINGS_MENU_ITEMS, APP_STORAGE, APP_STORAGE_EXPLORER_PROTECTED_KEYS, APP_TESTING_PAGES, APP_USER_EVENT_LIST_INFINITE_SCROLL_THRESHOLD, APP_USER_EVENT_SERVICE, APP_USER_SETTINGS_OPTIONS, APP_USER_TOKEN_SCOPES, AboutModal, AbstractNamedFilterService, AbstractSelectionModelPipe, AbstractTableSelectionPipe, AbstractUserEventService, Account, AccountPage, AccountService, AccountToStringPipe, AccountUtils, ActionsColumnComponent, AdminModule, AdminRoutingModule, AdminUsersModule, Alerts, AndroidOsEnvironment, AppAboutModalModule, AppAccountModule, AppAsyncTable, AppAuthForm, AppAuthModal, AppAuthModule, AppEditor, AppEditorOptions, AppEntityEditor, AppEntityEditorModal, AppEntityEditorModalOptions, AppEntityFormModule, AppForm, AppFormArray, AppFormButtonsBarModule, AppFormContainer, AppFormField, AppFormModule, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppHomePageModule, AppIconComponent, AppIconModule, AppImageGalleryComponent, AppInMemoryTable, AppInstallUpgradeCard, AppInstallUpgradeCardModule, AppListForm, AppListFormModule, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppPropertiesFormModule, AppPropertiesTable, AppRegisterModule, AppRowField, AppSelectPeerModule, AppSettingsPageModule, AppTabEditor, AppTabEditorOptions, AppTable, AppTableModule, AppTableUtils, AppTextPopoverModule, AppUpdateOfflineModeCard, AppUpdateOfflineModeCardModule, AppValidatorService, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayJoinPipe, ArrayLastPipe, ArrayLengthPipe, ArrayPluckPipe, AsAnyPipe, AsArrayPipe, AsFloatLabelTypePipe, AsObservablePipe, AudioProvider, AudioTestingModule, AudioTestingPage, AuthGuardService, AutoTitleDirective, AutocompleteTestPage, AutofocusDirective, BadgeDirective, BadgeNumberPipe, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, BooleanFormatPipe, BooleanTestPage, CORE_CONFIG_OPTIONS, CORE_TESTING_PAGES, CapitalizePipe, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigFragments, ConfigService, Configuration, CoreModule, CorePipesModule, CoreTestingModule, CryptoService, CsvUtils, DATE_ISO_PATTERN, DATE_MATCH_REGEXP, DATE_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_MENU_SHOW_WHEN, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFormatService, DateFromNowPipe, DateShortTestPage, DateTestPage, DateTimeTestPage, DateUtils, DebugComponent, Department, DepartmentToStringPipe, DragAndDropDirective, DurationPipe, DurationTestPage, ED25519_SEED_LENGTH, EMPTY_PLACEHOLDER_CHAR, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesAsyncTableDataSource, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, EnvironmentHttpLoader, EnvironmentLoader, ErrorCodes, EvenPipe, FileResponse, FileService, FileSizePipe, FilesUtils, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, FormGetArrayPipe, FormGetControlPipe, FormGetGroupPipe, FormGetPipe, FormGetValuePipe, GalleryTestPage, GeolocationUtils, GraphqlService, HAMMER_PRESS_TIME, HAMMER_TAP_TIME, HighlightPipe, HomePage, Hotkeys, HotkeysDialogComponent, IMAGE_DEFAULTS, IPosition, ImageAttachment, ImageAttachmentFilter, ImageAttachmentService, ImageGalleryModule, ImageGalleryTestingModule, ImageModule, ImageService, ImagesUtils, InMemoryEntitiesService, IsAllSelectedPipe, IsEmptySelectionPipe, IsLoginAccountPipe, IsMultipleSelectionPipe, IsNilOrBlankPipe, IsNilOrNaNPipe, IsNilPipe, IsNotAllSelectedPipe, IsNotEmptySelectionPipe, IsNotNilOrBlankPipe, IsNotNilOrNaNPipe, IsNotNilPipe, IsOnDeskPipe, IsOnFieldPipe, IsSelectedPipe, IsSingleSelectionPipe, JobModule, JobProgression, JobProgressionComponent, JobProgressionIcon, JobProgressionList, JobProgressionService, JobProgressionTestService, JobProgressionTestingPage, JobTestingModule, JobUtils, JsonUtils, KEYBOARD_HIDE_DELAY_MS, LAT_LONG_DEFAULT_MAX_DECIMALS, LAT_LONG_PATTERNS, LatLongFormatPipe, LatLongTestPage, LatitudeFormatPipe, LocalSettingsService, LogLevel, LogUtils, Logger, LoggingService, LoggingServiceModule, LongitudeFormatPipe, MAT_FORM_FIELD_DEFAULT_APPEARANCE, MAT_FORM_FIELD_DEFAULT_SUBSCRIPT_SIZING, MINIFY_ENTITY_FOR_LOCAL_STORAGE, MINIFY_ENTITY_FOR_POD, MOMENT_NO_TIME_PROPERTY, MapGetPipe, MapKeysPipe, MapValuesPipe, MaskitoPlaceholderPipe, MatAutocompleteConfigHolder, MatAutocompleteField, MatAutocompleteFieldUtils, MatBadgeTestPage, MatBooleanField, MatChipsField, MatColorPipe, MatCommonTestPage, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialTestingModule, MathAbsPipe, MenuComponent, MenuItem, MenuItems, MenuOptions, MenuService, MenuTestingModule, MenuTestingPage, Message, MessageFilter, MessageForm, MessageModal, MessageModule, MessageService, MessageTypeList, MessageTypes, MimeTypes, ModalToolbarComponent, NETWORK_DEFAULT_CONNECTION_TIMEOUT, NamedFilter, NamedFilterFilter, NamedFilterSelector, NetworkService, NewTokenModal, NgInitDirective, NgVarDirective, NotEmptyArrayPipe, NumberFormatPipe, ObservableTestPage, OddPipe, OtherMenuTestingPage, PEER_URL_REGEXP, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertiesFormTestPage, PropertiesFormTestingModule, PropertyEntity, PropertyEntityFilter, PropertyEntityValidator, PropertyFormatPipe, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialFilter, ReferentialRef, ReferentialToStringPipe, ReferentialUtils, ReferentialValidatorService, RegisterConfirmPage, RegisterForm, RegisterModal, ResizableComponent, ResizableDirective, ResizableModule, RxStateModule, SCRYPT_PARAMS, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SHARED_MATERIAL_TESTING_PAGES, SHARED_STORAGE_TESTING_PAGES, SHARED_TESTING_PAGES, SOCIAL_TESTING_PAGES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, SelectionLengthPipe, ServerErrorCodes, SettingsPage, SharedAsyncValidators, SharedBadgeModule, SharedDebugModule, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBooleanModule, SharedMatChipsModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedNamedFilterModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedTestsPage, SharedTextFormModule, SharedToolbarModule, SharedValidators, SocialErrorCodes, SocialModule, SocialModuleOptionsToken, SocialTestingModule, Software, StartableService, StatusById, StatusIds, StatusList, StorageDrivers, StorageExplorerComponent, StorageExplorerModule, StorageExplorerTestingModule, StorageExplorerTestingRoutingModule, StorageService, StrIncludesPipe, StrLengthPipe, SubMenuTabDirective, SwipeTestPage, Table2TestPage, TableSelectColumnsComponent, TableTestPage, TableTestingModule, TableValidatorService, TextForm, TextFormTestingPage, TextPopover, TextPopoverTestingModule, TextPopoverTestingPage, ToStringPipe, ToastTestingModule, ToastTestingPage, Toasts, TokenScope, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, TreeItemEntityUtils, UploadFile, UploadFileComponent, UploadFilePopover, UploadFileTestingModule, UploadFileTestingPage, UriUtils, UserEventModule, UserEventNotificationIcon, UserEventNotificationList, UserEventTestService, UserEventTestingModule, UserEventTestingPage, UserSettings, UserToken, UserTokenTable, UsersPage, ValueFormatPipe, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayResize, arraySize, asInputElement, booleanToString, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, collectByProperty, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equals, equalsOrNil, escapeRegExp, fadeInAnimation, fadeInOutAnimation, fadeInSlowAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, findParentWithClass, 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, initArrayControlsFromValues, isAndroid, isBlankString, isCapacitor, isControlHasInput, isEmptyArray, isIOS, isInputElement, isInstanceOf, isInt, isMobile, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilBoolean, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, isOnFieldMode, isProgressEvent, isResponseEvent, isStartableService, isTouchUi, isWindows, joinProperties, joinPropertiesPath, lastArrayValue, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, maskitoPrefixPlugin, matchMedia, matchUpperCase, mergeLoadResult, mixHex, moveInputCaretToSeparator, newArray, 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, setPropertyByPath, setTabIndex, sleep, slideInAnimation, slideInOutAnimation, slideUpDownAnimation, sort, splitById, splitByProperty, startsWithUpperCase, suggestFromArray, suggestFromStringArray, tabindexComparator, testUserAgent, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, uncapitalizeFirstLetter, undefinedIfNull, underscoreToChangeCase, updateValueAndValidity, waitFor, waitForFalse, waitForTrue, waitIdle, waitWhilePending };
42359
+ export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_DEBUG_DATA_SERVICE, APP_FORM_ERROR_I18N_KEYS, APP_GRAPHQL_FRAGMENTS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_JOB_PROGRESSION_SERVICE, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_LOGGING_SERVICE, APP_MENU_ITEMS, APP_MENU_OPTIONS, APP_NAMED_FILTER_SERVICE, APP_PROGRESS_BAR_SERVICE, APP_SETTINGS_MENU_ITEMS, APP_STORAGE, APP_STORAGE_EXPLORER_PROTECTED_KEYS, APP_TESTING_PAGES, APP_USER_EVENT_LIST_INFINITE_SCROLL_THRESHOLD, APP_USER_EVENT_SERVICE, APP_USER_SETTINGS_OPTIONS, APP_USER_TOKEN_SCOPES, AboutModal, AbstractNamedFilterService, AbstractSelectionModelPipe, AbstractTableSelectionPipe, AbstractUserEventService, Account, AccountPage, AccountService, AccountToStringPipe, AccountUtils, ActionsColumnComponent, AdminModule, AdminRoutingModule, AdminUsersModule, Alerts, AndroidOsEnvironment, AppAboutModalModule, AppAccountModule, AppAsyncTable, AppAuthForm, AppAuthModal, AppAuthModule, AppEditor, AppEditorOptions, AppEntityEditor, AppEntityEditorModal, AppEntityEditorModalOptions, AppEntityFormModule, AppForm, AppFormArray, AppFormButtonsBarModule, AppFormContainer, AppFormField, AppFormModule, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppHomePageModule, AppIconComponent, AppIconModule, AppImageGalleryComponent, AppInMemoryTable, AppInstallUpgradeCard, AppInstallUpgradeCardModule, AppListForm, AppListFormModule, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppPropertiesFormModule, AppPropertiesTable, AppRegisterModule, AppRowField, AppSelectPeerModule, AppSettingsPageModule, AppTabEditor, AppTabEditorOptions, AppTable, AppTableModule, AppTableUtils, AppTextPopoverModule, AppUpdateOfflineModeCard, AppUpdateOfflineModeCardModule, AppValidatorService, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayJoinPipe, ArrayLastPipe, ArrayLengthPipe, ArrayPluckPipe, AsAnyPipe, AsArrayPipe, AsFloatLabelTypePipe, AsObservablePipe, AudioProvider, AudioTestingModule, AudioTestingPage, AuthGuardService, AutoTitleDirective, AutocompleteTestPage, AutofocusDirective, BadgeDirective, BadgeNumberPipe, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, BooleanFormatPipe, BooleanTestPage, CORE_CONFIG_OPTIONS, CORE_TESTING_PAGES, CapitalizePipe, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigFragments, ConfigService, Configuration, CoreModule, CorePipesModule, CoreTestingModule, CryptoService, CsvUtils, DATE_ISO_PATTERN, DATE_MATCH_REGEXP, DATE_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_MENU_SHOW_WHEN, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFormatService, DateFromNowPipe, DateShortTestPage, DateTestPage, DateTimeTestPage, DateUtils, DebugComponent, Department, DepartmentToStringPipe, DragAndDropDirective, DurationPipe, DurationTestPage, ED25519_SEED_LENGTH, EMPTY_PLACEHOLDER_CHAR, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesAsyncTableDataSource, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, EnvironmentHttpLoader, EnvironmentLoader, ErrorCodes, EvenPipe, FileResponse, FileService, FileSizePipe, FilesUtils, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorPipe, FormErrorTranslatePipe, FormErrorTranslator, FormFieldValuesHolder, FormGetArrayPipe, FormGetControlPipe, FormGetGroupPipe, FormGetPipe, FormGetValuePipe, GalleryTestPage, GeolocationUtils, GraphqlService, HAMMER_PRESS_TIME, HAMMER_TAP_TIME, HighlightPipe, HomePage, Hotkeys, HotkeysDialogComponent, IMAGE_DEFAULTS, IPosition, ImageAttachment, ImageAttachmentFilter, ImageAttachmentService, ImageGalleryModule, ImageGalleryTestingModule, ImageModule, ImageService, ImagesUtils, InMemoryEntitiesService, IsAllSelectedPipe, IsEmptySelectionPipe, IsLoginAccountPipe, IsMultipleSelectionPipe, IsNilOrBlankPipe, IsNilOrNaNPipe, IsNilPipe, IsNotAllSelectedPipe, IsNotEmptySelectionPipe, IsNotNilOrBlankPipe, IsNotNilOrNaNPipe, IsNotNilPipe, IsOnDeskPipe, IsOnFieldPipe, IsSelectedPipe, IsSingleSelectionPipe, JobModule, JobProgression, JobProgressionComponent, JobProgressionIcon, JobProgressionList, JobProgressionService, JobProgressionTestService, JobProgressionTestingPage, JobTestingModule, JobUtils, JsonUtils, KEYBOARD_HIDE_DELAY_MS, LAT_LONG_DEFAULT_MAX_DECIMALS, LAT_LONG_PATTERNS, LatLongFormatPipe, LatLongTestPage, LatitudeFormatPipe, LocalSettingsService, LogLevel, LogUtils, Logger, LoggingService, LoggingServiceModule, LongitudeFormatPipe, MAT_FORM_FIELD_DEFAULT_APPEARANCE, MAT_FORM_FIELD_DEFAULT_SUBSCRIPT_SIZING, MINIFY_ENTITY_FOR_LOCAL_STORAGE, MINIFY_ENTITY_FOR_POD, MOMENT_NO_TIME_PROPERTY, MapGetPipe, MapKeysPipe, MapValuesPipe, MaskitoPlaceholderPipe, MatAutocompleteConfigHolder, MatAutocompleteField, MatAutocompleteFieldUtils, MatBadgeTestPage, MatBooleanField, MatChipsField, MatColorPipe, MatCommonTestPage, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialTestingModule, MathAbsPipe, MenuComponent, MenuItem, MenuItems, MenuOptions, MenuService, MenuTestingModule, MenuTestingPage, Message, MessageFilter, MessageForm, MessageModal, MessageModule, MessageService, MessageTypeList, MessageTypes, MimeTypes, ModalToolbarComponent, NETWORK_DEFAULT_CONNECTION_TIMEOUT, NamedFilter, NamedFilterFilter, NamedFilterSelector, NetworkService, NewTokenModal, NgInitDirective, NgVarDirective, NotEmptyArrayPipe, NumberFormatPipe, ObservableTestPage, OddPipe, OtherMenuTestingPage, PEER_URL_REGEXP, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertiesFormTestPage, PropertiesFormTestingModule, PropertyEntity, PropertyEntityFilter, PropertyEntityValidator, PropertyFormatPipe, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialFilter, ReferentialRef, ReferentialToStringPipe, ReferentialUtils, ReferentialValidatorService, RegisterConfirmPage, RegisterForm, RegisterModal, ResizableComponent, ResizableDirective, ResizableModule, RxStateModule, SCRYPT_PARAMS, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SHARED_MATERIAL_TESTING_PAGES, SHARED_STORAGE_TESTING_PAGES, SHARED_TESTING_PAGES, SOCIAL_TESTING_PAGES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, SelectionLengthPipe, ServerErrorCodes, SettingsPage, SharedAsyncValidators, SharedBadgeModule, SharedDebugModule, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBooleanModule, SharedMatChipsModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedNamedFilterModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedTestsPage, SharedTextFormModule, SharedToolbarModule, SharedValidators, SocialErrorCodes, SocialModule, SocialModuleOptionsToken, SocialTestingModule, Software, StartableService, StatusById, StatusIds, StatusList, StorageDrivers, StorageExplorerComponent, StorageExplorerModule, StorageExplorerTestingModule, StorageExplorerTestingRoutingModule, StorageService, StrIncludesPipe, StrLengthPipe, SubMenuTabDirective, SwipeTestPage, Table2TestPage, TableSelectColumnsComponent, TableTestPage, TableTestingModule, TableValidatorService, TextForm, TextFormTestingPage, TextPopover, TextPopoverTestingModule, TextPopoverTestingPage, ToStringPipe, ToastTestingModule, ToastTestingPage, Toasts, TokenScope, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, TreeItemEntityUtils, UploadFile, UploadFileComponent, UploadFilePopover, UploadFileTestingModule, UploadFileTestingPage, UriUtils, UserEventModule, UserEventNotificationIcon, UserEventNotificationList, UserEventTestService, UserEventTestingModule, UserEventTestingPage, UserSettings, UserToken, UserTokenTable, UsersPage, ValueFormatPipe, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayResize, arraySize, asInputElement, booleanToString, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, collectByProperty, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equals, equalsOrNil, escapeRegExp, fadeInAnimation, fadeInOutAnimation, fadeInSlowAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, findParentWithClass, 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, initArrayControlsFromValues, isAndroid, isBlankString, isCapacitor, isControlHasInput, isEmptyArray, isIOS, isInputElement, isInstanceOf, isInt, isMobile, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilBoolean, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, isOnFieldMode, isProgressEvent, isResponseEvent, isStartableService, isTouchUi, isWindows, joinProperties, joinPropertiesPath, lastArrayValue, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, maskitoPrefixPlugin, matchMedia, matchUpperCase, mergeLoadResult, mixHex, moveInputCaretToSeparator, newArray, 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, setPropertyByPath, setTabIndex, sleep, slideInAnimation, slideInOutAnimation, slideUpDownAnimation, sort, splitById, splitByProperty, startsWithUpperCase, suggestFromArray, suggestFromStringArray, tabindexComparator, testUserAgent, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, uncapitalizeFirstLetter, undefinedIfNull, underscoreToChangeCase, updateValueAndValidity, waitFor, waitForFalse, waitForTrue, waitIdle, waitWhilePending };
42334
42360
  //# sourceMappingURL=sumaris-net.ngx-components.mjs.map