@dsivd/prestations-ng 18.3.13 → 18.3.15-beta.1

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.
@@ -2,8 +2,8 @@ import * as i0 from '@angular/core';
2
2
  import { Optional, Inject, Injectable, EventEmitter, Input, HostBinding, Output, forwardRef, ViewChildren, ViewChild, Directive, Pipe, Component, ContentChildren, InjectionToken, HostListener, inject, ErrorHandler, NgModule, TemplateRef, ContentChild } from '@angular/core';
3
3
  import * as i1$1 from '@angular/router';
4
4
  import { ActivatedRoute, NavigationStart, RouterModule, NavigationEnd, RouterLink } from '@angular/router';
5
- import { of, Subject, BehaviorSubject, combineLatest, throwError, switchMap as switchMap$1, forkJoin, tap as tap$1, from, concatMap, toArray, EMPTY, takeUntil, startWith, filter as filter$1, merge, interval, withLatestFrom, map as map$1, debounceTime as debounceTime$1, concat } from 'rxjs';
6
- import { map, shareReplay, filter, tap, debounceTime, catchError, switchMap, first, finalize, throttleTime, mergeMap, share, take, distinctUntilChanged } from 'rxjs/operators';
5
+ import { of, Subject, BehaviorSubject, combineLatest, throwError, switchMap as switchMap$1, forkJoin, tap as tap$1, from, concatMap, toArray, EMPTY, takeUntil, startWith, filter as filter$1, merge, interval, withLatestFrom, map as map$1, debounceTime as debounceTime$1, timer, concat } from 'rxjs';
6
+ import { map, shareReplay, filter, tap, debounceTime, catchError, switchMap, first, finalize, throttleTime, mergeMap, share, take, distinctUntilChanged, skip } from 'rxjs/operators';
7
7
  import * as i1 from '@angular/common/http';
8
8
  import { HttpStatusCode, HttpResponseBase, HttpErrorResponse, HttpParams, HttpEventType, HttpResponse, HTTP_INTERCEPTORS, provideHttpClient, withInterceptorsFromDi, withInterceptors, HttpClient } from '@angular/common/http';
9
9
  import * as i3 from '@angular/forms';
@@ -25,6 +25,7 @@ import * as i5 from '@angular/cdk/scrolling';
25
25
  import { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrolling';
26
26
  import 'core-js/modules/es.array.includes';
27
27
  import localeData from 'dayjs/plugin/localeData';
28
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
28
29
  import * as i6 from 'ngx-image-cropper';
29
30
  import { ImageCropperComponent } from 'ngx-image-cropper';
30
31
  import * as iban from 'iban';
@@ -1188,17 +1189,15 @@ const DEFAULT_DICTIONARY = {
1188
1189
  'foehn-input-email.standard-connected-help-text': "Cette adresse est utilisée pour l'envoi des alertes automatiques vous informant " +
1189
1190
  "d'un nouvel événement vous concernant sur le portail sécurisé.<br/>" +
1190
1191
  'Vous pouvez uniquement la modifier dans les <a href="/100002/" target="_blank">préférences de votre espace sécurisé</a>',
1191
- 'foehn-input-phone.DEFAULT_INTERNATIONAL_AND_NO_SWISS': "Préfixer avec l'indicatif de votre pays (ex : <ul class='sameLine-list'>" +
1192
- '<li>+33612345678,</li><li>+49 123 456 78 901 ou</li><li>+39 312 345 6789</li></ul>)',
1193
- 'foehn-input-phone.DEFAULT_INTERNATIONAL_AND_NO_SWISS_PHONE': "Préfixer avec l'indicatif de votre pays (ex : <ul class='sameLine-list'>" +
1194
- '<li>+41791234567,</li><li>0041 78 123 45 56 ou</li><li>+33 6 12 34 56 78</li></ul>)',
1195
- 'foehn-input-phone.DEFAULT_INTERNATIONAL_AND_NO_SWISS_MOBILE': "Préfixer avec l'indicatif de votre pays (ex : <ul class='sameLine-list'>" +
1196
- '<li>+41211234567,</li><li>0041 21 123 45 56 ou</li><li>+33 6 12 34 56 78</li></ul>)',
1197
- 'foehn-input-phone.DEFAULT_INTERNATIONAL_HELP_TEXT': "Préfixer avec l'indicatif de votre pays (ex : <ul class='sameLine-list'>" +
1192
+ 'foehn-input-phone.STANDARD_HELPTEXT_INTERNATIONAL_FIX_ONLY': "Préfixer avec l'indicatif de votre pays (ex : <ul class='sameLine-list'>" +
1193
+ '<li>+41211234567,</li><li>0041 21 123 45 67 ou</li><li>+33 1 42 92 81 00</li></ul>)',
1194
+ 'foehn-input-phone.STANDARD_HELPTEXT_INTERNATIONAL_MOBILE_ONLY': "Préfixer avec l'indicatif de votre pays (ex : <ul class='sameLine-list'>" +
1195
+ '<li>+41791234567,</li><li>0041 79 123 45 67 ou</li><li>+33 6 12 34 56 78</li></ul>)',
1196
+ 'foehn-input-phone.STANDARD_HELPTEXT_INTERNATIONAL_FIX_AND_MOBILE': "Préfixer avec l'indicatif de votre pays (ex : <ul class='sameLine-list'>" +
1198
1197
  '<li>+41791234567,</li><li>+41 22 012 34 56,</li><li>0041 79 012 34 56</li><li>ou +33612345678</li></ul>)',
1199
- 'foehn-input-phone.DEFAULT_SWISS_HELP_TEXT': "ex : <ul class='sameLine-list'><li>079 123 45 67,</li><li>0211234567,</li><li>+41 79 123 45 67 ou</li><li>+41211234567</li></ul>",
1200
- 'foehn-input-phone.DEFAULT_SWISS_PHONE_HELP_TEXT': "ex : <ul class='sameLine-list'><li>0211234567,</li><li>021 123 45 67,</li><li>+41211234567 ou</li><li>+41 21 123 45 67</li></ul>",
1201
- 'foehn-input-phone.DEFAULT_SWISS_MOBILE_PHONE_HELP_TEXT': "ex : <ul class='sameLine-list'><li>0791234567,</li><li>079 123 45 67,</li><li>+41791234567 ou</li><li>+41 79 123 45 67</li></ul>",
1198
+ 'foehn-input-phone.STANDARD_HELPTEXT_SWISS_FIX_AND_MOBILE': "ex : <ul class='sameLine-list'><li>079 123 45 67,</li><li>0211234567,</li><li>+41 79 123 45 67 ou</li><li>+41211234567</li></ul>",
1199
+ 'foehn-input-phone.STANDARD_HELPTEXT_SWISS_FIX_ONLY': "ex : <ul class='sameLine-list'><li>0211234567,</li><li>021 123 45 67,</li><li>+41211234567 ou</li><li>+41 21 123 45 67</li></ul>",
1200
+ 'foehn-input-phone.STANDARD_HELPTEXT_SWISS_MOBILE_ONLY': "ex : <ul class='sameLine-list'><li>0791234567,</li><li>079 123 45 67,</li><li>+41791234567 ou</li><li>+41 79 123 45 67</li></ul>",
1202
1201
  'foehn-input-time.hours.label': 'Heure',
1203
1202
  'foehn-input-time.minutes.label': 'Minutes',
1204
1203
  'foehn-input-number.standard-help-text.label': 'Saisir un nombre entre {minValue} et {maxValue}',
@@ -1217,6 +1216,7 @@ const DEFAULT_DICTIONARY = {
1217
1216
  'foehn-navigation.next.label': 'Suivant',
1218
1217
  'foehn-navigation.previous.label': 'Précédent',
1219
1218
  'foehn-navigation.transmit.label': 'Transmettre',
1219
+ 'foehn-navigation.loading.label': 'Chargement...',
1220
1220
  'foehn-navigation.continue-later.label': 'Envoyer un lien pour reprendre cette demande plus tard',
1221
1221
  'foehn-navigation.continue-later-already-registered.label': 'Modifier mes informations de reprise et envoyer un nouveau lien',
1222
1222
  'foehn-navigation.continue-later-connected.label': 'Finir la demande plus tard',
@@ -2604,6 +2604,8 @@ class FoehnNavigationService {
2604
2604
  this.isInit = false;
2605
2605
  this.initializedAndRouteActivated = new BehaviorSubject(false);
2606
2606
  this.linearRouting = true;
2607
+ this.pendingNavigationDirectionSubject = new BehaviorSubject(null);
2608
+ this.lastNavigationId = 0;
2607
2609
  }
2608
2610
  get initialized() {
2609
2611
  return this.isInit;
@@ -2681,6 +2683,14 @@ class FoehnNavigationService {
2681
2683
  hasBeenInitialized() {
2682
2684
  return this.initializedAndRouteActivated.asObservable();
2683
2685
  }
2686
+ /**
2687
+ * Direction of the navigation started with next() or previous() until it ends, null otherwise.
2688
+ * The current page stays displayed while the target one is activated (e.g. lazy loaded route).
2689
+ * @returns Observable<NavigationDirection>
2690
+ */
2691
+ pendingNavigationDirection() {
2692
+ return this.pendingNavigationDirectionSubject.asObservable();
2693
+ }
2684
2694
  getQueryParamsToForwardAsString() {
2685
2695
  const params = this.getQueryParamsToForward() || [];
2686
2696
  let stringParams = '';
@@ -2834,7 +2844,15 @@ class FoehnNavigationService {
2834
2844
  ? SdkEventType.NAVIGATION_FORWARD
2835
2845
  : SdkEventType.NAVIGATION_BACKWARD;
2836
2846
  this.eventsLoggerService.addEvent(eventType, route.path);
2837
- return this.redirect(route.path);
2847
+ const navigation = this.redirect(route.path);
2848
+ const navigationId = ++this.lastNavigationId;
2849
+ this.pendingNavigationDirectionSubject.next(direction);
2850
+ return navigation.finally(() => {
2851
+ // A navigation replaced by a newer one ends first (cancelled).
2852
+ if (navigationId === this.lastNavigationId) {
2853
+ this.pendingNavigationDirectionSubject.next(null);
2854
+ }
2855
+ });
2838
2856
  }
2839
2857
  isRouteAvailable(route) {
2840
2858
  const { canActivate } = route;
@@ -3046,10 +3064,6 @@ class PendingUploadService {
3046
3064
  this.uploadPendingFilesAndSaveForm(form);
3047
3065
  });
3048
3066
  }
3049
- ngOnDestroy() {
3050
- this.destroy$.next();
3051
- this.destroy$.complete();
3052
- }
3053
3067
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3054
3068
  get attachmentsUploaded() {
3055
3069
  return this.attachmentsUploadedSubject.asObservable();
@@ -3057,6 +3071,10 @@ class PendingUploadService {
3057
3071
  get pendingUploadedErrors() {
3058
3072
  return this.pendingUploadedErrorsSubject.asObservable();
3059
3073
  }
3074
+ ngOnDestroy() {
3075
+ this.destroy$.next();
3076
+ this.destroy$.complete();
3077
+ }
3060
3078
  getPendingFiles(formKey) {
3061
3079
  if (this.pendingFilesByFormKey.get(formKey)) {
3062
3080
  return this.pendingFilesByFormKey.get(formKey).files;
@@ -3120,7 +3138,7 @@ class PendingUploadService {
3120
3138
  .pipe(concatMap(([formKey, pendingFiles]) => this.executeSingleUpload(formKey, pendingFiles, form, mergedResponse)), toArray(), finalize(() => {
3121
3139
  this.uploadProgressService.forceComplete();
3122
3140
  this.uploadProgressService.showProgress.next(false);
3123
- }), switchMap(() => this.gesdemService.save(form, false, false).pipe(catchError(err => {
3141
+ }), switchMap(() => this.gesdemService.save(form, false, false).pipe(catchError((err) => {
3124
3142
  console.error('Gesdem save failed', err);
3125
3143
  return EMPTY;
3126
3144
  }))), takeUntil(this.destroy$))
@@ -3132,7 +3150,9 @@ class PendingUploadService {
3132
3150
  }
3133
3151
  });
3134
3152
  }
3135
- executeSingleUpload(formKey, pendingFiles, form, mergedResponse) {
3153
+ executeSingleUpload(formKey, pendingFiles,
3154
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3155
+ form, mergedResponse) {
3136
3156
  const executor = this.uploadExecutors.get(formKey);
3137
3157
  if (!executor) {
3138
3158
  console.warn('No uploader registered for', formKey);
@@ -3141,7 +3161,7 @@ class PendingUploadService {
3141
3161
  return executor().pipe(tap(response => {
3142
3162
  this.mergePendingUploadedServerResult(mergedResponse, response);
3143
3163
  this.setNestedValue(form, pendingFiles.formKey, response.documents);
3144
- }), catchError(error => {
3164
+ }), catchError((error) => {
3145
3165
  const documentError = new DocumentError();
3146
3166
  documentError.formKey = pendingFiles.formKey;
3147
3167
  documentError.key = pendingFiles.key;
@@ -3220,6 +3240,7 @@ function getConcurrentSafeCall(fn) {
3220
3240
  class AbstractPageComponent {
3221
3241
  constructor(activatedRoute) {
3222
3242
  this.activatedRoute = activatedRoute;
3243
+ this._isNavigatingToNextPage = false;
3223
3244
  this._gesdemService = ServiceLocator.injector.get(GesdemHandlerService);
3224
3245
  this._gesdemEventService =
3225
3246
  ServiceLocator.injector.get(GesdemEventService);
@@ -3310,6 +3331,9 @@ class AbstractPageComponent {
3310
3331
  this.saveFormRequestSubscription?.unsubscribe();
3311
3332
  }
3312
3333
  send(goToNextPage = true, displaySuccessMessage = true) {
3334
+ if (this._isNavigatingToNextPage) {
3335
+ return;
3336
+ }
3313
3337
  const hasPendingFiles = this._pendingUploadService.hasPendingFiles();
3314
3338
  if (hasPendingFiles) {
3315
3339
  goToNextPage = false;
@@ -3334,6 +3358,9 @@ class AbstractPageComponent {
3334
3358
  }
3335
3359
  }
3336
3360
  transmit() {
3361
+ if (this._isNavigatingToNextPage) {
3362
+ return;
3363
+ }
3337
3364
  this._validationHandlerService.shouldDisplayErrors(true);
3338
3365
  this._transmitConcurrentSafe
3339
3366
  .pipe(tap(() => this._eventsLoggerService.addEvent(SdkEventType.TRANSMIT)), catchError((error) => {
@@ -3345,11 +3372,14 @@ class AbstractPageComponent {
3345
3372
  // Do not show warning alert on closing tab or navigator when form has been transmitted
3346
3373
  this._registerNgModelService.setHasInteractions(false);
3347
3374
  this._gesdemEventService.formTransmittedSubject.next(this._gesdemService.lastResponse);
3348
- this._navigation.next();
3375
+ this.navigateToNextPage();
3349
3376
  }
3350
3377
  });
3351
3378
  }
3352
3379
  sendAndTransmit(displaySuccessMessage = true) {
3380
+ if (this._isNavigatingToNextPage) {
3381
+ return;
3382
+ }
3353
3383
  this._gesdemEventService
3354
3384
  .formSentObservable()
3355
3385
  .pipe(first())
@@ -3395,13 +3425,33 @@ class AbstractPageComponent {
3395
3425
  }
3396
3426
  this._gesdemEventService.formSentSubject.next(this._gesdemService.lastResponse);
3397
3427
  if (isValid && goToNextPage) {
3398
- this._navigation.next();
3428
+ this.navigateToNextPage();
3399
3429
  }
3400
3430
  else if (!isValid && this.foehnFormComponent) {
3401
3431
  this.foehnFormComponent.focusErrorSummary();
3402
3432
  }
3403
3433
  }, console.error);
3404
3434
  }
3435
+ /**
3436
+ * Navigates to the next page and ignores send(), sendAndTransmit() and transmit() until the navigation ends.
3437
+ *
3438
+ * The current page stays displayed and clickable while the next one is activated (e.g. lazy loaded route,
3439
+ * resolver or async guard): a second click on "next" would save again, then navigate once more from the
3440
+ * next page and skip it.
3441
+ */
3442
+ async navigateToNextPage() {
3443
+ if (this._isNavigatingToNextPage) {
3444
+ return;
3445
+ }
3446
+ this._isNavigatingToNextPage = true;
3447
+ try {
3448
+ await this._navigation.next();
3449
+ }
3450
+ finally {
3451
+ // Released when the navigation is cancelled or fails so that the user can try again.
3452
+ this._isNavigatingToNextPage = false;
3453
+ }
3454
+ }
3405
3455
  checkHasPendingsFilesBeforeTransmit() {
3406
3456
  if (this._pendingUploadService.hasPendingFiles()) {
3407
3457
  const multiUploadAttachmentSubscription = this._pendingUploadService.attachmentsUploaded.subscribe(() => {
@@ -11812,14 +11862,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
11812
11862
  ], standalone: false, template: "<div\n class=\"form-group clearable-input-form-group\"\n [class.has-danger]=\"hasErrorsToDisplay()\"\n [class.vd-form-group-danger]=\"hasErrorsToDisplay()\"\n [attr.id]=\"buildId('Container')\"\n tabindex=\"-1\"\n>\n <div class=\"d-flex justify-content-between\">\n <label\n class=\"form-label\"\n [attr.for]=\"buildChildId()\"\n *ngIf=\"label && type !== 'hidden'\"\n [ngClass]=\"isLabelSrOnly ? 'visually-hidden' : labelStyleModifier\"\n >\n <span [innerHTML]=\"label\"></span>\n <span\n *ngIf=\"!required && !hideNotRequiredExtraLabel\"\n aria-hidden=\"true\"\n >\n {{ 'foehn-input.optional' | fromDictionary }}\n </span>\n </label>\n\n <foehn-help-modal\n class=\"removePaddingButton\"\n *ngIf=\"!!helpModal\"\n [modalContent]=\"helpModal\"\n ></foehn-help-modal>\n </div>\n\n <foehn-validation-alerts [component]=\"this\"></foehn-validation-alerts>\n\n <small\n *ngIf=\"standardHelpText && type !== 'hidden'\"\n [attr.id]=\"buildChildId() + 'StandardHelpText'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"standardHelpText\"\n ></small>\n\n <small\n *ngIf=\"helpText && type !== 'hidden'\"\n [attr.id]=\"buildChildId() + 'Help'\"\n class=\"form-text text-secondary\"\n [innerHTML]=\"helpText\"\n ></small>\n\n <ng-content></ng-content>\n\n <input\n [class.is-invalid]=\"hasErrorsToDisplay() || hasInheritErrorFromParent()\"\n [class.clearable-input]=\"displayClearButton() | async\"\n class=\"form-control\"\n [name]=\"name || label\"\n [attr.maxlength]=\"getMaxLength()\"\n [attr.autocomplete]=\"getAutoComplete()\"\n [attr.autocapitalize]=\"autocapitalize\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.type]=\"type\"\n [attr.pattern]=\"pattern\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.id]=\"buildChildId()\"\n [attr.aria-describedby]=\"getDescribedBy()\"\n [attr.aria-invalid]=\"hasErrorsToDisplay() || null\"\n [attr.aria-required]=\"required || null\"\n [ngModel]=\"model\"\n (paste)=\"onPaste($event)\"\n (ngModelChange)=\"updateNgModel($event)\"\n (input)=\"handleChange(entryComponent.value)\"\n (keydown)=\"onKeydown($event)\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n #entryComponent\n />\n\n <button\n type=\"button\"\n [id]=\"buildChildId() + 'ClearButton'\"\n *ngIf=\"displayClearButton() | async\"\n class=\"clearable-input-clear-button btn\"\n (click)=\"onClear()\"\n >\n <foehn-icon-times\n class=\"clearable-input-clear-button-icon\"\n [title]=\"'foehn-input.clear-button.label' | fromDictionary\"\n ></foehn-icon-times>\n </button>\n</div>\n", styles: ["input::-ms-clear{display:none}input.clearable-input{padding-right:30px}.clearable-input-form-group{position:relative}:host ::ng-deep foehn-help-modal>.btn{padding-top:0!important;margin-top:0!important}.clearable-input-clear-button{position:absolute;bottom:4px;right:4px;height:30px;width:30px;background:none;border:none;box-shadow:none}.clearable-input-clear-button-icon{top:4px;right:8px;position:absolute}:host ::ng-deep .clearable-input-clear-button.btn .svg-inline--fa{color:#595959!important}:host ::ng-deep .clearable-input-clear-button.btn:hover .svg-inline--fa{color:#000!important}.chars-remaining{color:#757575;font-size:.9rem}.char-count-exceeded{color:#c21f39}:host ::ng-deep .sameLine-list{display:inline;list-style:none;padding:0}:host ::ng-deep .sameLine-list li{display:inline;padding:3px}\n"] }]
11813
11863
  }], ctorParameters: () => [{ type: i0.NgZone }] });
11814
11864
 
11815
- const DEFAULT_INTERNATIONAL_AND_NO_SWISS = 'foehn-input-phone.DEFAULT_INTERNATIONAL_AND_NO_SWISS';
11816
- const DEFAULT_INTERNATIONAL_AND_NO_SWISS_PHONE = 'foehn-input-phone.DEFAULT_INTERNATIONAL_AND_NO_SWISS_PHONE';
11817
- const DEFAULT_INTERNATIONAL_AND_NO_SWISS_MOBILE = 'foehn-input-phone.DEFAULT_INTERNATIONAL_AND_NO_SWISS_MOBILE';
11818
- const DEFAULT_INTERNATIONAL_HELP_TEXT = 'foehn-input-phone.DEFAULT_INTERNATIONAL_HELP_TEXT';
11819
- const DEFAULT_SWISS_HELP_TEXT = 'foehn-input-phone.DEFAULT_SWISS_HELP_TEXT';
11820
- const DEFAULT_SWISS_PHONE_HELP_TEXT = 'foehn-input-phone.DEFAULT_SWISS_PHONE_HELP_TEXT';
11821
- const DEFAULT_SWISS_MOBILE_PHONE_HELP_TEXT = 'foehn-input-phone.DEFAULT_SWISS_MOBILE_PHONE_HELP_TEXT';
11822
- const BAD_PARAMS_HELP_TEXT = 'Mauvais paramétrage du composant. Un téléphone est soit international, mobile, fixe ou les deux mais pas rien';
11865
+ const DEFAULT_INTERNATIONAL_FIX_ONLY = 'foehn-input-phone.STANDARD_HELPTEXT_INTERNATIONAL_FIX_ONLY';
11866
+ const DEFAULT_INTERNATIONAL_MOBILE_ONLY = 'foehn-input-phone.STANDARD_HELPTEXT_INTERNATIONAL_MOBILE_ONLY';
11867
+ const DEFAULT_INTERNATIONAL_FIX_AND_MOBILE = 'foehn-input-phone.STANDARD_HELPTEXT_INTERNATIONAL_FIX_AND_MOBILE';
11868
+ const DEFAULT_SWISS_FIX_AND_MOBILE = 'foehn-input-phone.STANDARD_HELPTEXT_SWISS_FIX_AND_MOBILE';
11869
+ const DEFAULT_SWISS_FIX_ONLY = 'foehn-input-phone.STANDARD_HELPTEXT_SWISS_FIX_ONLY';
11870
+ const DEFAULT_SWISS_MOBILE_ONLY = 'foehn-input-phone.STANDARD_HELPTEXT_SWISS_MOBILE_ONLY';
11871
+ const BAD_PARAMS_HELP_TEXT = 'Mauvais paramétrage du composant. Un téléphone est mobile, fixe ou les deux mais pas rien';
11823
11872
  class FoehnInputPhoneComponent extends FoehnInputStringComponent {
11824
11873
  constructor(dictionaryService) {
11825
11874
  super();
@@ -11847,30 +11896,40 @@ class FoehnInputPhoneComponent extends FoehnInputStringComponent {
11847
11896
  this.languageChangeSubscription?.unsubscribe();
11848
11897
  }
11849
11898
  getStandardHelpTextDicoKey() {
11850
- if (this.acceptInternational &&
11851
- !this.acceptPhone &&
11852
- !this.acceptMobilePhone) {
11853
- return DEFAULT_INTERNATIONAL_AND_NO_SWISS;
11854
- }
11855
- if (this.acceptInternational && !this.acceptPhone) {
11856
- return DEFAULT_INTERNATIONAL_AND_NO_SWISS_PHONE;
11857
- }
11858
- if (this.acceptInternational && !this.acceptMobilePhone) {
11859
- return DEFAULT_INTERNATIONAL_AND_NO_SWISS_MOBILE;
11860
- }
11861
- if (this.acceptInternational) {
11862
- return DEFAULT_INTERNATIONAL_HELP_TEXT;
11899
+ const acceptInternational = this.acceptInternational;
11900
+ const acceptPhone = this.acceptPhone;
11901
+ const acceptMobilePhone = this.acceptMobilePhone;
11902
+ if (!acceptPhone && !acceptMobilePhone) {
11903
+ return BAD_PARAMS_HELP_TEXT;
11863
11904
  }
11864
- if (this.acceptMobilePhone && this.acceptPhone) {
11865
- return DEFAULT_SWISS_HELP_TEXT;
11866
- }
11867
- if (this.acceptPhone) {
11868
- return DEFAULT_SWISS_PHONE_HELP_TEXT;
11905
+ if (!acceptInternational) {
11906
+ if (acceptPhone && acceptMobilePhone) {
11907
+ // swiss phone and swiss mobile phone, no international
11908
+ return DEFAULT_SWISS_FIX_AND_MOBILE;
11909
+ }
11910
+ if (acceptPhone) {
11911
+ // swiss phone only, no international
11912
+ return DEFAULT_SWISS_FIX_ONLY;
11913
+ }
11914
+ else {
11915
+ // swiss mobile phone only, no international
11916
+ return DEFAULT_SWISS_MOBILE_ONLY;
11917
+ }
11869
11918
  }
11870
- if (this.acceptMobilePhone) {
11871
- return DEFAULT_SWISS_MOBILE_PHONE_HELP_TEXT;
11919
+ else {
11920
+ if (acceptPhone && acceptMobilePhone) {
11921
+ // international phone and international mobile phone
11922
+ return DEFAULT_INTERNATIONAL_FIX_AND_MOBILE;
11923
+ }
11924
+ if (acceptPhone) {
11925
+ // international phone only
11926
+ return DEFAULT_INTERNATIONAL_FIX_ONLY;
11927
+ }
11928
+ else {
11929
+ // international mobile phone only
11930
+ return DEFAULT_INTERNATIONAL_MOBILE_ONLY;
11931
+ }
11872
11932
  }
11873
- return BAD_PARAMS_HELP_TEXT;
11874
11933
  }
11875
11934
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: FoehnInputPhoneComponent, deps: [{ token: SdkDictionaryService }], target: i0.ɵɵFactoryTarget.Component }); }
11876
11935
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: FoehnInputPhoneComponent, isStandalone: false, selector: "foehn-input-phone", inputs: { acceptInternational: "acceptInternational", acceptMobilePhone: "acceptMobilePhone", acceptPhone: "acceptPhone" }, providers: [
@@ -13783,34 +13842,74 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
13783
13842
  }]
13784
13843
  }] });
13785
13844
 
13845
+ // The loading state isn't displayed when the target page loads quickly, so that it doesn't flicker.
13846
+ const LOADING_DISPLAY_DELAY_MS = 200;
13786
13847
  class AbstractFoehnNavigationComponent {
13787
13848
  constructor() {
13788
13849
  this.onNext = new EventEmitter();
13789
13850
  this.onPrevious = new EventEmitter();
13790
13851
  this.nextLabel = 'foehn-navigation.next.label';
13791
13852
  this.prevLabel = 'foehn-navigation.previous.label';
13853
+ this.loadingLabel = 'foehn-navigation.loading.label';
13792
13854
  this.continueLaterLabel = 'foehn-navigation.continue-later.label';
13793
13855
  this.continueLaterAlreadyRegisteredLabel = 'foehn-navigation.continue-later-already-registered.label';
13794
13856
  this.continueLaterConnectedLabel = 'foehn-navigation.continue-later-connected.label';
13795
13857
  this.showContinueLaterButton = true;
13796
13858
  this.showNextButton = true;
13797
13859
  this.triggerRecoveryOnPageChange = false;
13860
+ this.pendingNavigationDirection = null;
13861
+ this.loadingDirection = null;
13862
+ const pendingNavigationDirection = inject(FoehnNavigationService)
13863
+ .pendingNavigationDirection()
13864
+ .pipe(
13865
+ // A navigation pending when the component is created is the one activating its page.
13866
+ skip(1));
13867
+ pendingNavigationDirection
13868
+ .pipe(takeUntilDestroyed())
13869
+ .subscribe(direction => {
13870
+ this.pendingNavigationDirection = direction;
13871
+ });
13872
+ pendingNavigationDirection
13873
+ .pipe(switchMap(direction => direction === null
13874
+ ? of(null)
13875
+ : timer(LOADING_DISPLAY_DELAY_MS).pipe(map(() => direction))), takeUntilDestroyed())
13876
+ .subscribe(direction => {
13877
+ this.loadingDirection = direction;
13878
+ });
13798
13879
  }
13799
13880
  goToNext() {
13881
+ if (this.isNavigating()) {
13882
+ return;
13883
+ }
13800
13884
  this.onNext.emit();
13801
13885
  }
13802
13886
  goToPrevious() {
13887
+ if (this.isNavigating()) {
13888
+ return;
13889
+ }
13803
13890
  this.onPrevious.emit();
13804
13891
  }
13805
13892
  canShowNextButton() {
13806
13893
  return this.showNextButton;
13807
13894
  }
13895
+ isNavigating() {
13896
+ return this.pendingNavigationDirection !== null;
13897
+ }
13898
+ isLoading() {
13899
+ return this.loadingDirection !== null;
13900
+ }
13901
+ isLoadingNext() {
13902
+ return this.loadingDirection === NavigationDirection.FORWARD;
13903
+ }
13904
+ isLoadingPrevious() {
13905
+ return this.loadingDirection === NavigationDirection.BACKWARD;
13906
+ }
13808
13907
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AbstractFoehnNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
13809
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.17", type: AbstractFoehnNavigationComponent, isStandalone: true, inputs: { nextLabel: "nextLabel", prevLabel: "prevLabel", continueLaterLabel: "continueLaterLabel", continueLaterAlreadyRegisteredLabel: "continueLaterAlreadyRegisteredLabel", continueLaterConnectedLabel: "continueLaterConnectedLabel", showContinueLaterButton: "showContinueLaterButton", showNextButton: "showNextButton", triggerRecoveryOnPageChange: "triggerRecoveryOnPageChange" }, outputs: { onNext: "onNext", onPrevious: "onPrevious" }, ngImport: i0 }); }
13908
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.17", type: AbstractFoehnNavigationComponent, isStandalone: true, inputs: { nextLabel: "nextLabel", prevLabel: "prevLabel", loadingLabel: "loadingLabel", continueLaterLabel: "continueLaterLabel", continueLaterAlreadyRegisteredLabel: "continueLaterAlreadyRegisteredLabel", continueLaterConnectedLabel: "continueLaterConnectedLabel", showContinueLaterButton: "showContinueLaterButton", showNextButton: "showNextButton", triggerRecoveryOnPageChange: "triggerRecoveryOnPageChange" }, outputs: { onNext: "onNext", onPrevious: "onPrevious" }, ngImport: i0 }); }
13810
13909
  }
13811
13910
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AbstractFoehnNavigationComponent, decorators: [{
13812
13911
  type: Directive
13813
- }], propDecorators: {
13912
+ }], ctorParameters: () => [], propDecorators: {
13814
13913
  // eslint-disable-next-line @angular-eslint/no-output-on-prefix
13815
13914
  onNext: [{
13816
13915
  type: Output
@@ -13822,6 +13921,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
13822
13921
  type: Input
13823
13922
  }], prevLabel: [{
13824
13923
  type: Input
13924
+ }], loadingLabel: [{
13925
+ type: Input
13825
13926
  }], continueLaterLabel: [{
13826
13927
  type: Input
13827
13928
  }], continueLaterAlreadyRegisteredLabel: [{
@@ -13883,11 +13984,11 @@ class FoehnNavigationComponent extends AbstractFoehnNavigationComponent {
13883
13984
  return this.navigationService.isLinearRouting();
13884
13985
  }
13885
13986
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: FoehnNavigationComponent, deps: [{ token: FoehnNavigationService }, { token: i1$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
13886
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: FoehnNavigationComponent, isStandalone: false, selector: "foehn-navigation", inputs: { transmitLabel: "transmitLabel" }, usesInheritance: true, ngImport: i0, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel\"\n [continueLaterAlreadyRegisteredLabel]=\"continueLaterAlreadyRegisteredLabel\"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<sdk-pending-payment\n *ngIf=\"isForcedOnRecapForPendingPayment()\"\n (onPay)=\"goToNext()\"\n></sdk-pending-payment>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n class=\"me-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </span>\n <span class=\"visually-hidden\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getPreviousRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"!isLastFormPage() && canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ms-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n <span class=\"visually-hidden\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getNextRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n >\n <button\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n type=\"submit\"\n id=\"transmitButton\"\n (click)=\"goToNext()\"\n class=\"btn btn-success vd-btn-pagination-submit\"\n >\n {{ transmitLabel | fromDictionary }}\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}:host ::ng-deep .btn.btn-link .svg-inline--fa{color:var(--vd-primary-dark)}:host ::ng-deep .btn.btn-link:hover .svg-inline--fa{color:var(--vd-neutral-dark)}.btn.btn-link{text-transform:none}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { kind: "component", type: FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }, { kind: "component", type: GesdemActionRecoveryRegistrationComponent, selector: "gesdem-action-recovery-registration", inputs: ["dispatchFormErrors", "continueLaterLabel", "continueLaterAlreadyRegisteredLabel", "continueLaterConnectedLabel", "triggerOnPageChange"] }, { kind: "component", type: PendingPaymentComponent, selector: "sdk-pending-payment", outputs: ["onPay"] }, { kind: "pipe", type: SdkDictionaryPipe, name: "fromDictionary" }] }); }
13987
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: FoehnNavigationComponent, isStandalone: false, selector: "foehn-navigation", inputs: { transmitLabel: "transmitLabel" }, usesInheritance: true, ngImport: i0, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel\"\n [continueLaterAlreadyRegisteredLabel]=\"continueLaterAlreadyRegisteredLabel\"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<sdk-pending-payment\n *ngIf=\"isForcedOnRecapForPendingPayment()\"\n (onPay)=\"goToNext()\"\n></sdk-pending-payment>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n [class.disabled]=\"isLoading()\"\n [attr.aria-disabled]=\"isLoading() || null\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <ng-container *ngIf=\"!isLoadingPrevious(); else loading\">\n <foehn-icon-chevron-left\n class=\"me-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </ng-container>\n </span>\n <span class=\"visually-hidden\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getPreviousRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"!isLastFormPage() && canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n [class.disabled]=\"isLoading()\"\n [attr.aria-disabled]=\"isLoading() || null\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n <ng-container *ngIf=\"!isLoadingNext(); else loading\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ms-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </ng-container>\n </span>\n <span class=\"visually-hidden\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getNextRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n >\n <button\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n type=\"submit\"\n id=\"transmitButton\"\n (click)=\"goToNext()\"\n class=\"btn btn-success vd-btn-pagination-submit\"\n [class.disabled]=\"isLoading()\"\n [attr.aria-disabled]=\"isLoading() || null\"\n >\n <ng-container *ngIf=\"!isLoadingNext(); else loading\">\n {{ transmitLabel | fromDictionary }}\n </ng-container>\n </button>\n </li>\n </ul>\n <span class=\"visually-hidden\" role=\"status\">\n <ng-container *ngIf=\"isLoading()\">\n {{ loadingLabel | fromDictionary }}\n </ng-container>\n </span>\n</nav>\n\n<ng-template #loading>\n <span\n class=\"spinner-border spinner-border-sm me-1\"\n aria-hidden=\"true\"\n ></span>\n {{ loadingLabel | fromDictionary }}\n</ng-template>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}:host ::ng-deep .btn.btn-link .svg-inline--fa{color:var(--vd-primary-dark)}:host ::ng-deep .btn.btn-link:hover .svg-inline--fa{color:var(--vd-neutral-dark)}.btn.btn-link{text-transform:none}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { kind: "component", type: FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }, { kind: "component", type: GesdemActionRecoveryRegistrationComponent, selector: "gesdem-action-recovery-registration", inputs: ["dispatchFormErrors", "continueLaterLabel", "continueLaterAlreadyRegisteredLabel", "continueLaterConnectedLabel", "triggerOnPageChange"] }, { kind: "component", type: PendingPaymentComponent, selector: "sdk-pending-payment", outputs: ["onPay"] }, { kind: "pipe", type: SdkDictionaryPipe, name: "fromDictionary" }] }); }
13887
13988
  }
13888
13989
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: FoehnNavigationComponent, decorators: [{
13889
13990
  type: Component,
13890
- args: [{ selector: 'foehn-navigation', standalone: false, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel\"\n [continueLaterAlreadyRegisteredLabel]=\"continueLaterAlreadyRegisteredLabel\"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<sdk-pending-payment\n *ngIf=\"isForcedOnRecapForPendingPayment()\"\n (onPay)=\"goToNext()\"\n></sdk-pending-payment>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n class=\"me-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </span>\n <span class=\"visually-hidden\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getPreviousRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"!isLastFormPage() && canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ms-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n <span class=\"visually-hidden\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getNextRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n >\n <button\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n type=\"submit\"\n id=\"transmitButton\"\n (click)=\"goToNext()\"\n class=\"btn btn-success vd-btn-pagination-submit\"\n >\n {{ transmitLabel | fromDictionary }}\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}:host ::ng-deep .btn.btn-link .svg-inline--fa{color:var(--vd-primary-dark)}:host ::ng-deep .btn.btn-link:hover .svg-inline--fa{color:var(--vd-neutral-dark)}.btn.btn-link{text-transform:none}\n"] }]
13991
+ args: [{ selector: 'foehn-navigation', standalone: false, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel\"\n [continueLaterAlreadyRegisteredLabel]=\"continueLaterAlreadyRegisteredLabel\"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<sdk-pending-payment\n *ngIf=\"isForcedOnRecapForPendingPayment()\"\n (onPay)=\"goToNext()\"\n></sdk-pending-payment>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n [class.disabled]=\"isLoading()\"\n [attr.aria-disabled]=\"isLoading() || null\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <ng-container *ngIf=\"!isLoadingPrevious(); else loading\">\n <foehn-icon-chevron-left\n class=\"me-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </ng-container>\n </span>\n <span class=\"visually-hidden\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getPreviousRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"!isLastFormPage() && canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n [class.disabled]=\"isLoading()\"\n [attr.aria-disabled]=\"isLoading() || null\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n <ng-container *ngIf=\"!isLoadingNext(); else loading\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ms-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </ng-container>\n </span>\n <span class=\"visually-hidden\" *ngIf=\"isLinearRouting()\">:</span>\n <span class=\"vd-pagination__label\" *ngIf=\"isLinearRouting()\">\n {{ getNextRouteIndex() }}\n {{\n 'foehn-navigation.route.index.separator'\n | fromDictionary\n }}\n {{ getTotalRoutesSize() }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n >\n <button\n *ngIf=\"isLastFormPage() && canShowNextButton()\"\n type=\"submit\"\n id=\"transmitButton\"\n (click)=\"goToNext()\"\n class=\"btn btn-success vd-btn-pagination-submit\"\n [class.disabled]=\"isLoading()\"\n [attr.aria-disabled]=\"isLoading() || null\"\n >\n <ng-container *ngIf=\"!isLoadingNext(); else loading\">\n {{ transmitLabel | fromDictionary }}\n </ng-container>\n </button>\n </li>\n </ul>\n <span class=\"visually-hidden\" role=\"status\">\n <ng-container *ngIf=\"isLoading()\">\n {{ loadingLabel | fromDictionary }}\n </ng-container>\n </span>\n</nav>\n\n<ng-template #loading>\n <span\n class=\"spinner-border spinner-border-sm me-1\"\n aria-hidden=\"true\"\n ></span>\n {{ loadingLabel | fromDictionary }}\n</ng-template>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}:host ::ng-deep .btn.btn-link .svg-inline--fa{color:var(--vd-primary-dark)}:host ::ng-deep .btn.btn-link:hover .svg-inline--fa{color:var(--vd-neutral-dark)}.btn.btn-link{text-transform:none}\n"] }]
13891
13992
  }], ctorParameters: () => [{ type: FoehnNavigationService }, { type: i1$1.ActivatedRoute }], propDecorators: { transmitLabel: [{
13892
13993
  type: Input
13893
13994
  }] } });
@@ -13901,11 +14002,11 @@ class FoehnSimpleNavigationComponent extends AbstractFoehnNavigationComponent {
13901
14002
  return this.showPreviousButton;
13902
14003
  }
13903
14004
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: FoehnSimpleNavigationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
13904
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: FoehnSimpleNavigationComponent, isStandalone: false, selector: "foehn-simple-navigation", inputs: { showPreviousButton: "showPreviousButton" }, usesInheritance: true, ngImport: i0, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel\"\n [continueLaterAlreadyRegisteredLabel]=\"continueLaterAlreadyRegisteredLabel\"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n class=\"me-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ms-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}:host ::ng-deep .btn.btn-link .svg-inline--fa{color:var(--vd-primary-dark)}:host ::ng-deep .btn.btn-link:hover .svg-inline--fa{color:var(--vd-neutral-dark)}.btn.btn-link{text-transform:none}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { kind: "component", type: FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }, { kind: "component", type: GesdemActionRecoveryRegistrationComponent, selector: "gesdem-action-recovery-registration", inputs: ["dispatchFormErrors", "continueLaterLabel", "continueLaterAlreadyRegisteredLabel", "continueLaterConnectedLabel", "triggerOnPageChange"] }, { kind: "pipe", type: SdkDictionaryPipe, name: "fromDictionary" }] }); }
14005
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: FoehnSimpleNavigationComponent, isStandalone: false, selector: "foehn-simple-navigation", inputs: { showPreviousButton: "showPreviousButton" }, usesInheritance: true, ngImport: i0, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel\"\n [continueLaterAlreadyRegisteredLabel]=\"continueLaterAlreadyRegisteredLabel\"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n [class.disabled]=\"isLoading()\"\n [attr.aria-disabled]=\"isLoading() || null\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <ng-container *ngIf=\"!isLoadingPrevious(); else loading\">\n <foehn-icon-chevron-left\n class=\"me-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </ng-container>\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n [class.disabled]=\"isLoading()\"\n [attr.aria-disabled]=\"isLoading() || null\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n <ng-container *ngIf=\"!isLoadingNext(); else loading\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ms-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </ng-container>\n </span>\n </button>\n </li>\n </ul>\n <span class=\"visually-hidden\" role=\"status\">\n <ng-container *ngIf=\"isLoading()\">\n {{ loadingLabel | fromDictionary }}\n </ng-container>\n </span>\n</nav>\n\n<ng-template #loading>\n <span\n class=\"spinner-border spinner-border-sm me-1\"\n aria-hidden=\"true\"\n ></span>\n {{ loadingLabel | fromDictionary }}\n</ng-template>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}:host ::ng-deep .btn.btn-link .svg-inline--fa{color:var(--vd-primary-dark)}:host ::ng-deep .btn.btn-link:hover .svg-inline--fa{color:var(--vd-neutral-dark)}.btn.btn-link{text-transform:none}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FoehnIconChevronLeftComponent, selector: "foehn-icon-chevron-left" }, { kind: "component", type: FoehnIconChevronRightComponent, selector: "foehn-icon-chevron-right" }, { kind: "component", type: GesdemActionRecoveryRegistrationComponent, selector: "gesdem-action-recovery-registration", inputs: ["dispatchFormErrors", "continueLaterLabel", "continueLaterAlreadyRegisteredLabel", "continueLaterConnectedLabel", "triggerOnPageChange"] }, { kind: "pipe", type: SdkDictionaryPipe, name: "fromDictionary" }] }); }
13905
14006
  }
13906
14007
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: FoehnSimpleNavigationComponent, decorators: [{
13907
14008
  type: Component,
13908
- args: [{ selector: 'foehn-simple-navigation', standalone: false, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel\"\n [continueLaterAlreadyRegisteredLabel]=\"continueLaterAlreadyRegisteredLabel\"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <foehn-icon-chevron-left\n class=\"me-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ms-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </span>\n </button>\n </li>\n </ul>\n</nav>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}:host ::ng-deep .btn.btn-link .svg-inline--fa{color:var(--vd-primary-dark)}:host ::ng-deep .btn.btn-link:hover .svg-inline--fa{color:var(--vd-neutral-dark)}.btn.btn-link{text-transform:none}\n"] }]
14009
+ args: [{ selector: 'foehn-simple-navigation', standalone: false, template: "<gesdem-action-recovery-registration\n *ngIf=\"showContinueLaterButton\"\n [continueLaterLabel]=\"continueLaterLabel\"\n [continueLaterAlreadyRegisteredLabel]=\"continueLaterAlreadyRegisteredLabel\"\n [continueLaterConnectedLabel]=\"continueLaterConnectedLabel\"\n [triggerOnPageChange]=\"triggerRecoveryOnPageChange\"\n></gesdem-action-recovery-registration>\n\n<nav class=\"vd-pagination\" id=\"foehn_navContainer\" aria-label=\"Pagination\">\n <ul class=\"vd-pagination__list\">\n <li\n class=\"vd-pagination__item vd-pagination__item--previous\"\n *ngIf=\"canShowPreviousButton()\"\n >\n <button\n id=\"prevButton\"\n type=\"button\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n [class.disabled]=\"isLoading()\"\n [attr.aria-disabled]=\"isLoading() || null\"\n (click)=\"$event.preventDefault(); goToPrevious()\"\n >\n <span class=\"vd-pagination__title\">\n <ng-container *ngIf=\"!isLoadingPrevious(); else loading\">\n <foehn-icon-chevron-left\n class=\"me-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-left>\n {{ prevLabel | fromDictionary }}\n </ng-container>\n </span>\n </button>\n </li>\n <li\n class=\"vd-pagination__item vd-pagination__item--next\"\n *ngIf=\"canShowNextButton()\"\n >\n <button\n id=\"nextButton\"\n type=\"submit\"\n class=\"btn btn-link vd-pagination__link vd-pagination__link-reset\"\n [class.disabled]=\"isLoading()\"\n [attr.aria-disabled]=\"isLoading() || null\"\n (click)=\"$event.preventDefault(); goToNext()\"\n >\n <span class=\"vd-pagination__title\">\n <ng-container *ngIf=\"!isLoadingNext(); else loading\">\n {{ nextLabel | fromDictionary }}\n <foehn-icon-chevron-right\n class=\"ms-1\"\n aria-hidden=\"true\"\n ></foehn-icon-chevron-right>\n </ng-container>\n </span>\n </button>\n </li>\n </ul>\n <span class=\"visually-hidden\" role=\"status\">\n <ng-container *ngIf=\"isLoading()\">\n {{ loadingLabel | fromDictionary }}\n </ng-container>\n </span>\n</nav>\n\n<ng-template #loading>\n <span\n class=\"spinner-border spinner-border-sm me-1\"\n aria-hidden=\"true\"\n ></span>\n {{ loadingLabel | fromDictionary }}\n</ng-template>\n", styles: [".vd-pagination__link-reset{background:none;border:none;font-weight:inherit;text-decoration-line:none;text-align:inherit;cursor:pointer}.vd-pagination__link-reset:focus{background-color:var(--vd-focus)}:host ::ng-deep .btn.btn-link .svg-inline--fa{color:var(--vd-primary-dark)}:host ::ng-deep .btn.btn-link:hover .svg-inline--fa{color:var(--vd-neutral-dark)}.btn.btn-link{text-transform:none}\n"] }]
13909
14010
  }], propDecorators: { showPreviousButton: [{
13910
14011
  type: Input
13911
14012
  }] } });
@@ -16120,7 +16221,7 @@ class AbstractPageFromMenuComponent extends AbstractPageComponent {
16120
16221
  .subscribe(breadCrumb => {
16121
16222
  breadCrumb.breadcrumbItems.pop();
16122
16223
  this._breadcrumbEventService.setBreadcrumb(breadCrumb);
16123
- this._navigation.next();
16224
+ this.navigateToNextPage();
16124
16225
  });
16125
16226
  }
16126
16227
  appendPageToBreadCrumb() {
@@ -16492,7 +16593,7 @@ class FoehnMenuItemComponent {
16492
16593
  get nonApplicableId() {
16493
16594
  const prefixValue = typeof this.errorPrefix === 'string'
16494
16595
  ? this.errorPrefix
16495
- : this.errorPrefix?.source ?? '';
16596
+ : (this.errorPrefix?.source ?? '');
16496
16597
  const safePrefix = prefixValue
16497
16598
  .replace(/[^a-zA-Z0-9_-]+/g, '-')
16498
16599
  .replace(/^-+|-+$/g, '');
@@ -17178,5 +17279,5 @@ class SdkLog {
17178
17279
  * Generated bundle index. Do not edit.
17179
17280
  */
17180
17281
 
17181
- export { APP_INFO_API_URL, AbstractFoehnUploaderComponent, AbstractListDetailPageComponent, AbstractMenuPageComponent, AbstractPageComponent, AbstractPageFromMenuComponent, ActionStatut, Address, AddressTypeLight, ApplicationInfo, ApplicationInfoService, BAD_PARAMS_HELP_TEXT, BoDocumentError, BoDocumentsWithErrors, BoMultiUploadService, Breadcrumb, BreadcrumbEventService, BreadcrumbItem, CAPTCHA_ERROR_NAME, CURRENCY_REGEXP, Calendar, Canton, Captcha, ChunkLoadErrorHandler, ComponentError, Configuration, Country, CurrencyHelper, CurrentWeek, DECIMALS_SEPARATOR, DEFAULT_INTERNATIONAL_AND_NO_SWISS, DEFAULT_INTERNATIONAL_AND_NO_SWISS_MOBILE, DEFAULT_INTERNATIONAL_AND_NO_SWISS_PHONE, DEFAULT_INTERNATIONAL_HELP_TEXT, DEFAULT_PREFIX, DEFAULT_SWISS_HELP_TEXT, DEFAULT_SWISS_MOBILE_PHONE_HELP_TEXT, DEFAULT_SWISS_PHONE_HELP_TEXT, DICTIONARY_BASE_URL, DateHelper, DatePickerHelper, DatePickerNavigationHelper, DayMonth, DaySlots, DemandeExpirationService, DemandeHelper, DisplayCurrencyPipe, DisplayDatePipe, District, Document, DocumentError, DocumentReference, DocumentReferenceWithFile, DocumentsWithErrors, DropdownMenuGroup, DropdownMenuItem, EPaymentService, EtapeInfo, FEEDBACK_USAGERS_LOCAL_STORAGE_PREFIX, FORM_SUPPORT_CYBER_TITLE_FALLBACK, FocusedDay, FoehnAbbrComponent, FoehnAddressModule, FoehnAgendaComponent, FoehnAgendaModule, FoehnAgendaNavigationComponent, FoehnAgendaTimeslotPanelComponent, FoehnAutocompleteComponent, FoehnAutocompleteModule, FoehnBoMultiUploadComponent, FoehnBoMultiUploadModule, FoehnBooleanCheckboxComponent, FoehnBooleanModule, FoehnBooleanRadioComponent, FoehnBreadcrumbComponent, FoehnBreadcrumbModule, FoehnCheckableGroupComponent, FoehnCheckablesModule, FoehnCheckboxComponent, FoehnConfirmModalComponent, FoehnConfirmModalContent, FoehnConfirmModalModule, FoehnConfirmModalService, FoehnDateComponent, FoehnDatePickerButtonComponent, FoehnDatePickerButtonModule, FoehnDatePickerComponent, FoehnDatePickerModule, FoehnDateTimeComponent, FoehnDecisionElectroniqueComponent, FoehnDecisionElectroniqueModule, FoehnDisplayAddressComponent, FoehnDropdownMenuComponent, FoehnDropdownMenuModule, FoehnErrorPillComponent, FoehnFeedbackNotificationComponent, FoehnFeedbackNotificationModule, FoehnFormComponent, FoehnFormModule, FoehnGlobalUploadProgressBarComponent, FoehnHeaderComponent, FoehnHeaderModule, FoehnHelpModalComponent, FoehnHelpModalModule, FoehnIconCalendarComponent, FoehnIconCheckComponent, FoehnIconCheckSquareOComponent, FoehnIconChevronDownComponent, FoehnIconChevronLeftComponent, FoehnIconChevronRightComponent, FoehnIconChevronUpComponent, FoehnIconClockComponent, FoehnIconCommentDotsComponent, FoehnIconEditComponent, FoehnIconExternalLinkAltComponent, FoehnIconFilePdfComponent, FoehnIconInfoCircleComponent, FoehnIconLockComponent, FoehnIconMapMarkerComponent, FoehnIconMinusCircleComponent, FoehnIconPencilComponent, FoehnIconPlusCircleComponent, FoehnIconPlusSquareComponent, FoehnIconSearchComponent, FoehnIconTimesComponent, FoehnIconTrashAltComponent, FoehnIconUnlockAltComponent, FoehnIconUserComponent, FoehnIconsModule, FoehnInputAddressComponent, FoehnInputComponent, FoehnInputEmailComponent, FoehnInputForeignLocalityComponent, FoehnInputForeignStreetComponent, FoehnInputHiddenComponent, FoehnInputModule, FoehnInputNav13Component, FoehnInputNav13Module, FoehnInputNumberComponent, FoehnInputPasswordComponent, FoehnInputPhoneComponent, FoehnInputPrefixedTextComponent, FoehnInputStringComponent, FoehnInputTextComponent, FoehnInputTextareaComponent, FoehnListComponent, FoehnListItem, FoehnListModule, FoehnListSummaryComponent, FoehnMenuItemComponent, FoehnMenuItemTransmitComponent, FoehnMenuPrestationModule, FoehnMiscModule, FoehnModalComponent, FoehnModalModule, FoehnMultiUploadComponent, FoehnMultiUploadModule, FoehnMultiselectAutocompleteComponent, FoehnMultiselectAutocompleteModule, FoehnNavigationComponent, FoehnNavigationModule, FoehnNavigationService, FoehnNotFoundModule, FoehnNotfoundComponent, FoehnPageComponent, FoehnPageCounterComponent, FoehnPageExpirationTimerComponent, FoehnPageModalComponent, FoehnPageModule, FoehnPageService, FoehnPictureUploadComponent, FoehnPictureUploadModule, FoehnRadioComponent, FoehnRecapSectionComponent, FoehnRecapSectionModule, FoehnRemainingAlertsSummaryComponent, FoehnRemainingAlertsSummaryModule, FoehnSelectComponent, FoehnSimpleNavigationComponent, FoehnSkipLinkComponent, FoehnStatusProgressBarComponent, FoehnStatusProgressBarModule, FoehnTableColumnConfiguration, FoehnTableComponent, FoehnTableModule, FoehnTablePageChangeEvent, FoehnTimeComponent, FoehnTransmitWaitingModalComponent, FoehnTransmitWaitingModalService, FoehnUploadProgressBarComponent, FoehnUploadProgressBarModule, FoehnUserConnectedAsComponent, FoehnUserConnectedAsModule, FoehnValidationAlertSummaryComponent, FoehnValidationAlertSummaryModule, FoehnValidationAlertsComponent, FoehnValidationAlertsModule, FooterLink, FormMetadata, FormPostResponse, FormSelectOption, FormatIdePipe, FormatterModule, GESDEM_MAX_DATA_LENGTH, GesdemActionRecoveryLoginComponent, GesdemActionRecoveryModule, GesdemActionRecoveryRegistrationComponent, GesdemConfirmationComponent, GesdemConfirmationModule, GesdemErrorComponent, GesdemErrorModule, GesdemEventService, GesdemHandlerService, GesdemStatutUtils, GlobalUploadProgressService, GrowlBrokerService, GrowlMessage, GrowlType, HTTP_LOADER_FILTERED_URL, I18nForm, IAM_ACV_OIDC_REDIRECT_LOCATION_REGEX, IAM_ACV_REDIRECT_LOCATION_REGEX, IbanFormatterDirective, IdeFormatterDirective, IntervalHelper, Locality, MonthYear, MultiUploadService, Municipality, NDCFormatterDirective, NavigationDirection, NumberCurrencyFormatterDirective, OIDC_ENABLED, ObjectHelper, PORTAIL_BASE_URL_INT, PORTAIL_BASE_URL_PROD, PORTAIL_BASE_URL_VAL, PageChangeEvent, PageUploadLimitService, PaginationWeek, PendingFiles, PendingPaymentComponent, PendingUploadService, PipeModule, PlaceOfOrigin, Portail, PostalLocality, Preferences, PrestationsNgCoreModule, RECAPTCHA_API_URL, RecaptchaService, RedirectComponent, RegisterNgModelService, RowElement, SESSION_INFO_API_URL, SWISS_ISO_ID, ScrollHelper, SdkDictionaryModule, SdkDictionaryPipe, SdkDictionaryService, SdkEpaymentComponent, SdkEpaymentModule, SdkEvent, SdkEventType, SdkEventsLoggerService, SdkLog, SdkLogLevel, SdkLogsService, SdkRecaptchaComponent, SdkRecaptchaModule, SdkRedirectModule, SdkStatisticsService, SelectedSlot, ServiceLocator, Session, SessionInfo, SessionInfoData, SessionInfoWithApplicationService, Street, StreetNumber, THOUSANDS_SEPARATOR, TRANSMIT_WAITING_MODAL_DELAY_IN_MILLISECONDS, TableSort, UploadProgress, UploadProgressService, UploaderHelper, ValidationHandlerService, formatDecimalCurrency, formatNonDecimalCurrency, formatNumberAsGiven, gesdemLoaderGuard, replaceAll };
17282
+ export { APP_INFO_API_URL, AbstractFoehnUploaderComponent, AbstractListDetailPageComponent, AbstractMenuPageComponent, AbstractPageComponent, AbstractPageFromMenuComponent, ActionStatut, Address, AddressTypeLight, ApplicationInfo, ApplicationInfoService, BAD_PARAMS_HELP_TEXT, BoDocumentError, BoDocumentsWithErrors, BoMultiUploadService, Breadcrumb, BreadcrumbEventService, BreadcrumbItem, CAPTCHA_ERROR_NAME, CURRENCY_REGEXP, Calendar, Canton, Captcha, ChunkLoadErrorHandler, ComponentError, Configuration, Country, CurrencyHelper, CurrentWeek, DECIMALS_SEPARATOR, DEFAULT_INTERNATIONAL_FIX_AND_MOBILE, DEFAULT_INTERNATIONAL_FIX_ONLY, DEFAULT_INTERNATIONAL_MOBILE_ONLY, DEFAULT_PREFIX, DEFAULT_SWISS_FIX_AND_MOBILE, DEFAULT_SWISS_FIX_ONLY, DEFAULT_SWISS_MOBILE_ONLY, DICTIONARY_BASE_URL, DateHelper, DatePickerHelper, DatePickerNavigationHelper, DayMonth, DaySlots, DemandeExpirationService, DemandeHelper, DisplayCurrencyPipe, DisplayDatePipe, District, Document, DocumentError, DocumentReference, DocumentReferenceWithFile, DocumentsWithErrors, DropdownMenuGroup, DropdownMenuItem, EPaymentService, EtapeInfo, FEEDBACK_USAGERS_LOCAL_STORAGE_PREFIX, FORM_SUPPORT_CYBER_TITLE_FALLBACK, FocusedDay, FoehnAbbrComponent, FoehnAddressModule, FoehnAgendaComponent, FoehnAgendaModule, FoehnAgendaNavigationComponent, FoehnAgendaTimeslotPanelComponent, FoehnAutocompleteComponent, FoehnAutocompleteModule, FoehnBoMultiUploadComponent, FoehnBoMultiUploadModule, FoehnBooleanCheckboxComponent, FoehnBooleanModule, FoehnBooleanRadioComponent, FoehnBreadcrumbComponent, FoehnBreadcrumbModule, FoehnCheckableGroupComponent, FoehnCheckablesModule, FoehnCheckboxComponent, FoehnConfirmModalComponent, FoehnConfirmModalContent, FoehnConfirmModalModule, FoehnConfirmModalService, FoehnDateComponent, FoehnDatePickerButtonComponent, FoehnDatePickerButtonModule, FoehnDatePickerComponent, FoehnDatePickerModule, FoehnDateTimeComponent, FoehnDecisionElectroniqueComponent, FoehnDecisionElectroniqueModule, FoehnDisplayAddressComponent, FoehnDropdownMenuComponent, FoehnDropdownMenuModule, FoehnErrorPillComponent, FoehnFeedbackNotificationComponent, FoehnFeedbackNotificationModule, FoehnFormComponent, FoehnFormModule, FoehnGlobalUploadProgressBarComponent, FoehnHeaderComponent, FoehnHeaderModule, FoehnHelpModalComponent, FoehnHelpModalModule, FoehnIconCalendarComponent, FoehnIconCheckComponent, FoehnIconCheckSquareOComponent, FoehnIconChevronDownComponent, FoehnIconChevronLeftComponent, FoehnIconChevronRightComponent, FoehnIconChevronUpComponent, FoehnIconClockComponent, FoehnIconCommentDotsComponent, FoehnIconEditComponent, FoehnIconExternalLinkAltComponent, FoehnIconFilePdfComponent, FoehnIconInfoCircleComponent, FoehnIconLockComponent, FoehnIconMapMarkerComponent, FoehnIconMinusCircleComponent, FoehnIconPencilComponent, FoehnIconPlusCircleComponent, FoehnIconPlusSquareComponent, FoehnIconSearchComponent, FoehnIconTimesComponent, FoehnIconTrashAltComponent, FoehnIconUnlockAltComponent, FoehnIconUserComponent, FoehnIconsModule, FoehnInputAddressComponent, FoehnInputComponent, FoehnInputEmailComponent, FoehnInputForeignLocalityComponent, FoehnInputForeignStreetComponent, FoehnInputHiddenComponent, FoehnInputModule, FoehnInputNav13Component, FoehnInputNav13Module, FoehnInputNumberComponent, FoehnInputPasswordComponent, FoehnInputPhoneComponent, FoehnInputPrefixedTextComponent, FoehnInputStringComponent, FoehnInputTextComponent, FoehnInputTextareaComponent, FoehnListComponent, FoehnListItem, FoehnListModule, FoehnListSummaryComponent, FoehnMenuItemComponent, FoehnMenuItemTransmitComponent, FoehnMenuPrestationModule, FoehnMiscModule, FoehnModalComponent, FoehnModalModule, FoehnMultiUploadComponent, FoehnMultiUploadModule, FoehnMultiselectAutocompleteComponent, FoehnMultiselectAutocompleteModule, FoehnNavigationComponent, FoehnNavigationModule, FoehnNavigationService, FoehnNotFoundModule, FoehnNotfoundComponent, FoehnPageComponent, FoehnPageCounterComponent, FoehnPageExpirationTimerComponent, FoehnPageModalComponent, FoehnPageModule, FoehnPageService, FoehnPictureUploadComponent, FoehnPictureUploadModule, FoehnRadioComponent, FoehnRecapSectionComponent, FoehnRecapSectionModule, FoehnRemainingAlertsSummaryComponent, FoehnRemainingAlertsSummaryModule, FoehnSelectComponent, FoehnSimpleNavigationComponent, FoehnSkipLinkComponent, FoehnStatusProgressBarComponent, FoehnStatusProgressBarModule, FoehnTableColumnConfiguration, FoehnTableComponent, FoehnTableModule, FoehnTablePageChangeEvent, FoehnTimeComponent, FoehnTransmitWaitingModalComponent, FoehnTransmitWaitingModalService, FoehnUploadProgressBarComponent, FoehnUploadProgressBarModule, FoehnUserConnectedAsComponent, FoehnUserConnectedAsModule, FoehnValidationAlertSummaryComponent, FoehnValidationAlertSummaryModule, FoehnValidationAlertsComponent, FoehnValidationAlertsModule, FooterLink, FormMetadata, FormPostResponse, FormSelectOption, FormatIdePipe, FormatterModule, GESDEM_MAX_DATA_LENGTH, GesdemActionRecoveryLoginComponent, GesdemActionRecoveryModule, GesdemActionRecoveryRegistrationComponent, GesdemConfirmationComponent, GesdemConfirmationModule, GesdemErrorComponent, GesdemErrorModule, GesdemEventService, GesdemHandlerService, GesdemStatutUtils, GlobalUploadProgressService, GrowlBrokerService, GrowlMessage, GrowlType, HTTP_LOADER_FILTERED_URL, I18nForm, IAM_ACV_OIDC_REDIRECT_LOCATION_REGEX, IAM_ACV_REDIRECT_LOCATION_REGEX, IbanFormatterDirective, IdeFormatterDirective, IntervalHelper, Locality, MonthYear, MultiUploadService, Municipality, NDCFormatterDirective, NavigationDirection, NumberCurrencyFormatterDirective, OIDC_ENABLED, ObjectHelper, PORTAIL_BASE_URL_INT, PORTAIL_BASE_URL_PROD, PORTAIL_BASE_URL_VAL, PageChangeEvent, PageUploadLimitService, PaginationWeek, PendingFiles, PendingPaymentComponent, PendingUploadService, PipeModule, PlaceOfOrigin, Portail, PostalLocality, Preferences, PrestationsNgCoreModule, RECAPTCHA_API_URL, RecaptchaService, RedirectComponent, RegisterNgModelService, RowElement, SESSION_INFO_API_URL, SWISS_ISO_ID, ScrollHelper, SdkDictionaryModule, SdkDictionaryPipe, SdkDictionaryService, SdkEpaymentComponent, SdkEpaymentModule, SdkEvent, SdkEventType, SdkEventsLoggerService, SdkLog, SdkLogLevel, SdkLogsService, SdkRecaptchaComponent, SdkRecaptchaModule, SdkRedirectModule, SdkStatisticsService, SelectedSlot, ServiceLocator, Session, SessionInfo, SessionInfoData, SessionInfoWithApplicationService, Street, StreetNumber, THOUSANDS_SEPARATOR, TRANSMIT_WAITING_MODAL_DELAY_IN_MILLISECONDS, TableSort, UploadProgress, UploadProgressService, UploaderHelper, ValidationHandlerService, formatDecimalCurrency, formatNonDecimalCurrency, formatNumberAsGiven, gesdemLoaderGuard, replaceAll };
17182
17283
  //# sourceMappingURL=dsivd-prestations-ng.mjs.map