@dsivd/prestations-ng 19.2.0-beta.1 → 19.2.0-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { OnInit, AfterViewInit, Signal, ElementRef, DestroyRef, OnDestroy, InjectionToken, OnChanges, SimpleChanges, EnvironmentProviders, SimpleChange, AfterViewChecked, PipeTransform, TemplateRef, TrackByFunction, ErrorHandler, NgZone } from '@angular/core';
2
+ import { ElementRef, OnInit, AfterViewInit, Signal, DestroyRef, OnDestroy, InjectionToken, OnChanges, SimpleChanges, EnvironmentProviders, Injector, SimpleChange, AfterViewChecked, PipeTransform, TemplateRef, TrackByFunction, ErrorHandler, NgZone } from '@angular/core';
3
3
  import { Params, Route, ActivatedRoute, ActivatedRouteSnapshot, CanActivateFn, Router, QueryParamsHandling } from '@angular/router';
4
4
  import { Observable, Subject, BehaviorSubject } from 'rxjs';
5
5
  import { NgModel, NgForm } from '@angular/forms';
@@ -75,12 +75,38 @@ declare class BreadcrumbEventService {
75
75
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<BreadcrumbEventService>;
76
76
  }
77
77
 
78
+ type FoehnModalSize = '' | 'modal-sm' | 'modal-md' | 'modal-lg' | 'modal-xl';
79
+ declare class FoehnModalComponent {
80
+ readonly isModalVisible: _angular_core.ModelSignal<boolean>;
81
+ readonly id: _angular_core.InputSignal<string | undefined>;
82
+ readonly modalBodyText: _angular_core.InputSignal<string | undefined>;
83
+ readonly modalHeaderText: _angular_core.InputSignal<string | undefined>;
84
+ readonly closeable: _angular_core.InputSignal<boolean>;
85
+ readonly draggable: _angular_core.InputSignal<boolean>;
86
+ readonly hideable: _angular_core.InputSignal<boolean>;
87
+ readonly modalTriggerHtmlElement: _angular_core.InputSignal<HTMLElement | undefined>;
88
+ readonly name: _angular_core.InputSignal<string | undefined>;
89
+ readonly modalSize: _angular_core.InputSignal<FoehnModalSize | undefined>;
90
+ readonly modalBody: _angular_core.Signal<ElementRef<any> | undefined>;
91
+ readonly modalTitle: _angular_core.Signal<ElementRef<any> | undefined>;
92
+ readonly specificfooter: _angular_core.Signal<ElementRef<any> | undefined>;
93
+ readonly modalDefaultCloseBtn: _angular_core.Signal<ElementRef<any> | undefined>;
94
+ private readonly injector;
95
+ private previousIsVisible;
96
+ private readonly visibilityEffect;
97
+ handleKeyboardEvent(event: KeyboardEvent): void;
98
+ private focusOnContainer;
99
+ private focusOnModalTrigger;
100
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FoehnModalComponent, never>;
101
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FoehnModalComponent, "foehn-modal", never, { "isModalVisible": { "alias": "isModalVisible"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "modalBodyText": { "alias": "modalBodyText"; "required": false; "isSignal": true; }; "modalHeaderText": { "alias": "modalHeaderText"; "required": false; "isSignal": true; }; "closeable": { "alias": "closeable"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "hideable": { "alias": "hideable"; "required": false; "isSignal": true; }; "modalTriggerHtmlElement": { "alias": "modalTriggerHtmlElement"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "modalSize": { "alias": "modalSize"; "required": false; "isSignal": true; }; }, { "isModalVisible": "isModalVisibleChange"; }, never, ["*", "[modal-footer]"], true, never>;
102
+ }
103
+
78
104
  interface HelpModal {
79
105
  buttonTitle?: string;
80
106
  title: string;
81
107
  body?: string;
82
108
  images?: Image[];
83
- modalSize?: string;
109
+ modalSize?: FoehnModalSize;
84
110
  }
85
111
  interface Image {
86
112
  src?: string;
@@ -117,6 +143,7 @@ declare class ValidationHandlerService {
117
143
 
118
144
  declare const GESDEM_MAX_DATA_LENGTH = 10000;
119
145
  declare abstract class FoehnInputComponent<T> implements OnInit, AfterViewInit {
146
+ #private;
120
147
  readonly model: _angular_core.ModelSignal<T | null | undefined>;
121
148
  readonly pattern: _angular_core.ModelSignal<string | undefined>;
122
149
  readonly helpModal: _angular_core.ModelSignal<HelpModal | undefined>;
@@ -194,7 +221,7 @@ declare abstract class FoehnInputComponent<T> implements OnInit, AfterViewInit {
194
221
  protected readonly hostHidden: Signal<"hidden" | null>;
195
222
  protected readonly _destroyRef: DestroyRef;
196
223
  private readonly registerNgModelService;
197
- private _errors;
224
+ private readonly _errors;
198
225
  private readonly userInputSubject;
199
226
  private readonly subComponentsEffect;
200
227
  private readonly modelEffect;
@@ -296,6 +323,8 @@ declare class FoehnNavigationService {
296
323
  private isInit;
297
324
  private readonly initializedAndRouteActivated;
298
325
  private linearRouting;
326
+ private readonly pendingNavigationDirectionSubject;
327
+ private lastNavigationId;
299
328
  get initialized(): boolean;
300
329
  set activatedRoute(value: ActivatedRoute);
301
330
  static getRootRouteRecursive(route: ActivatedRouteSnapshot | null): Route | null;
@@ -305,6 +334,12 @@ declare class FoehnNavigationService {
305
334
  getFirstRoute(): Route;
306
335
  current(): Promise<boolean>;
307
336
  hasBeenInitialized(): Observable<boolean>;
337
+ /**
338
+ * Direction of the navigation started with next() or previous() until it ends, null otherwise.
339
+ * The current page stays displayed while the target one is activated (e.g. lazy loaded route).
340
+ * @returns Observable<NavigationDirection | null>
341
+ */
342
+ pendingNavigationDirection(): Observable<NavigationDirection | null>;
308
343
  getQueryParamsToForwardAsString(): string;
309
344
  getQueryParamsToForward(): Params | null;
310
345
  next(): Promise<boolean>;
@@ -429,7 +464,7 @@ declare class GesdemHandlerService {
429
464
  private readonly dictionaryService;
430
465
  private readonly dateHelper;
431
466
  private readonly _updateFormDataSubject;
432
- private _lastResponse;
467
+ private readonly _lastResponse;
433
468
  private _captchaToken;
434
469
  get lastResponse(): FormPostResponse<I18nForm>;
435
470
  get updateFormDataSubject(): Observable<I18nForm | undefined | null>;
@@ -478,7 +513,7 @@ declare class SdkDictionaryService {
478
513
  private readonly httpClient;
479
514
  private readonly growlService;
480
515
  private readonly validationService;
481
- private dictionary;
516
+ private readonly dictionary;
482
517
  private defaultLanguageCode;
483
518
  private readonly dictionaryObservable;
484
519
  private readonly availableLanguagesObservable;
@@ -530,9 +565,10 @@ declare class SdkEventsLoggerService {
530
565
  }
531
566
 
532
567
  declare abstract class AbstractPageComponent<T extends I18nForm> implements OnInit, AfterViewInit {
568
+ #private;
533
569
  readonly foehnFormComponent: _angular_core.Signal<FoehnFormComponent | undefined>;
534
570
  form: T | undefined | null;
535
- reference: string | null;
571
+ reference: string | null | undefined;
536
572
  protected _destroyRef: DestroyRef;
537
573
  protected _gesdemService: GesdemHandlerService;
538
574
  protected _gesdemEventService: GesdemEventService;
@@ -547,6 +583,7 @@ declare abstract class AbstractPageComponent<T extends I18nForm> implements OnIn
547
583
  private readonly _pendingUploadService;
548
584
  private readonly _transmitConcurrentSafe;
549
585
  private _gesdemSaveSubscription;
586
+ private _isNavigatingToNextPage;
550
587
  private readonly _registerNgModelService;
551
588
  private readonly _pageTitle;
552
589
  constructor();
@@ -559,6 +596,14 @@ declare abstract class AbstractPageComponent<T extends I18nForm> implements OnIn
559
596
  protected setPageTitle(pageTitle: string): void;
560
597
  protected setPageTitleAsync(pageTitle: Observable<string>): void;
561
598
  protected onFormSent(goToNextPage: boolean): void;
599
+ /**
600
+ * Navigates to the next page and ignores send(), sendAndTransmit() and transmit() until the navigation ends.
601
+ *
602
+ * The current page stays displayed and clickable while the next one is activated (e.g. lazy loaded route,
603
+ * resolver or async guard): a second click on "next" would save again, then navigate once more from the
604
+ * next page and skip it.
605
+ */
606
+ protected navigateToNextPage(): Promise<void>;
562
607
  private checkHasPendingsFilesBeforeTransmit;
563
608
  private gotToTop;
564
609
  abstract newForm(): T;
@@ -569,7 +614,7 @@ declare abstract class AbstractPageComponent<T extends I18nForm> implements OnIn
569
614
  declare class FoehnNotfoundComponent implements OnInit, OnDestroy {
570
615
  readonly shouldRedirect: _angular_core.InputSignal<boolean>;
571
616
  readonly setPageTitle: _angular_core.InputSignal<boolean>;
572
- seconds: number;
617
+ readonly seconds: _angular_core.WritableSignal<number>;
573
618
  private readonly router;
574
619
  private readonly foehnPageService;
575
620
  private intervalId;
@@ -816,7 +861,8 @@ declare class GesdemErrorComponent implements OnInit {
816
861
  }
817
862
 
818
863
  /**
819
- * Provides the core PrestationsNg configuration (HTTP interceptors, error handler, FontAwesome config).
864
+ * Provides the core PrestationsNg configuration (HTTP interceptors, error handler and global error
865
+ * listeners, FontAwesome config).
820
866
  * Replaces the old PrestationsNgCoreModule.
821
867
  *
822
868
  * Usage in bootstrapApplication:
@@ -879,11 +925,11 @@ declare class FoehnPageComponent implements OnChanges, OnInit {
879
925
  * If set to 'false', hide the default Security Best Practice link.
880
926
  */
881
927
  readonly showDefaultSecurityBestPracticeLink: _angular_core.InputSignal<boolean>;
882
- readonly appTitle: _angular_core.InputSignal<string | undefined>;
928
+ readonly appTitle: _angular_core.InputSignal<string | null | undefined>;
883
929
  readonly footerLinks: _angular_core.InputSignal<FooterLink[] | undefined>;
884
930
  readonly draftsEnabled: _angular_core.InputSignal<boolean>;
885
931
  readonly draftsUrl: _angular_core.InputSignal<string | undefined>;
886
- readonly etapeId: _angular_core.InputSignal<string | undefined>;
932
+ readonly etapeId: _angular_core.InputSignal<string | null | undefined>;
887
933
  readonly userConnectedAsDisplayed: _angular_core.InputSignal<boolean>;
888
934
  readonly statusProgressBarHidden: _angular_core.InputSignal<boolean | undefined>;
889
935
  /**
@@ -897,7 +943,7 @@ declare class FoehnPageComponent implements OnChanges, OnInit {
897
943
  * reloading the page while having unsaved data.
898
944
  */
899
945
  readonly showBeforeUnloadNativeConfirmAlert: _angular_core.InputSignal<boolean | undefined>;
900
- pageTitle: string | undefined;
946
+ readonly pageTitle: _angular_core.WritableSignal<string | undefined>;
901
947
  hasBlockingSupportAlert: Observable<boolean>;
902
948
  displayUserCategory: Observable<boolean> | undefined;
903
949
  showSecuredAreaLoginButton: Observable<boolean> | undefined;
@@ -937,9 +983,12 @@ declare class FoehnPageComponent implements OnChanges, OnInit {
937
983
 
938
984
  declare class FoehnPageCounterComponent {
939
985
  readonly textTemplate: _angular_core.InputSignal<string>;
940
- isStable: Observable<boolean>;
986
+ /**
987
+ * The counter is displayed once the page has been rendered,
988
+ * when the current route of the navigation is known.
989
+ */
990
+ readonly isStable: _angular_core.WritableSignal<boolean>;
941
991
  private readonly foehnNavigationService;
942
- private readonly ngZone;
943
992
  constructor();
944
993
  get placeholders(): PlaceholderType;
945
994
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FoehnPageCounterComponent, never>;
@@ -1015,7 +1064,7 @@ declare class DropdownMenuGroup {
1015
1064
  }
1016
1065
 
1017
1066
  declare class FoehnHeaderComponent implements OnInit {
1018
- readonly title: _angular_core.InputSignal<string | undefined>;
1067
+ readonly title: _angular_core.InputSignal<string | null | undefined>;
1019
1068
  readonly showSecuredAreaLoginButton: _angular_core.InputSignal<boolean | null>;
1020
1069
  readonly routerLinkAppTitle: _angular_core.InputSignal<string | undefined>;
1021
1070
  readonly userInfo: _angular_core.ModelSignal<SessionInfoData | null | undefined>;
@@ -1026,7 +1075,7 @@ declare class FoehnHeaderComponent implements OnInit {
1026
1075
  readonly isParticulier: _angular_core.Signal<boolean>;
1027
1076
  readonly prenomNom: _angular_core.Signal<string>;
1028
1077
  id: string;
1029
- connectedEsMenu: DropdownMenuGroup[] | undefined;
1078
+ readonly connectedEsMenu: _angular_core.Signal<DropdownMenuGroup[] | undefined>;
1030
1079
  isProduction: Observable<boolean> | undefined;
1031
1080
  mockedServices: Observable<string[] | null | undefined> | undefined;
1032
1081
  availableLanguages: Observable<Language[]> | undefined;
@@ -1040,7 +1089,6 @@ declare class FoehnHeaderComponent implements OnInit {
1040
1089
  private readonly destroyRef;
1041
1090
  private readonly ENV_PROD;
1042
1091
  private readonly AVS;
1043
- constructor();
1044
1092
  ngOnInit(): void;
1045
1093
  getEnvironmentLabel(info: ApplicationInfo): string | null | undefined;
1046
1094
  languageChanged(languageCode: string): void;
@@ -1070,7 +1118,7 @@ declare class FoehnSkipLinkComponent implements OnInit {
1070
1118
 
1071
1119
  declare class FoehnStatusProgressBarComponent implements OnInit {
1072
1120
  readonly hidden: _angular_core.InputSignal<boolean | undefined>;
1073
- isTransmitted: boolean;
1121
+ readonly isTransmitted: _angular_core.WritableSignal<boolean>;
1074
1122
  protected activatedRoute: ActivatedRoute;
1075
1123
  private readonly navigation;
1076
1124
  private readonly gesdemHand;
@@ -1124,6 +1172,7 @@ declare class FormSelectOptionGroup {
1124
1172
  }
1125
1173
 
1126
1174
  declare abstract class FoehnCheckableGroupComponent extends FoehnInputComponent<any> implements OnInit, OnChanges {
1175
+ #private;
1127
1176
  readonly elements: _angular_core.ModelSignal<any>;
1128
1177
  readonly elementsUrl: _angular_core.InputSignal<string | undefined>;
1129
1178
  /**
@@ -1153,10 +1202,9 @@ declare abstract class FoehnCheckableGroupComponent extends FoehnInputComponent<
1153
1202
  */
1154
1203
  readonly missingModelValues: Signal<any[]>;
1155
1204
  readonly hasMissingModelValue: Signal<boolean>;
1156
- groupedElements: FormSelectOptionGroup[];
1205
+ readonly groupedElements: _angular_core.WritableSignal<FormSelectOptionGroup[]>;
1157
1206
  protected readonly httpClient: HttpClient;
1158
1207
  protected readonly multiple: Signal<boolean>;
1159
- private readonly ngZone;
1160
1208
  private pulling_;
1161
1209
  private readonly _onInitSubject;
1162
1210
  private disabledByElements;
@@ -1238,20 +1286,24 @@ declare class FoehnAutocompleteComponent extends FoehnCheckableGroupComponent im
1238
1286
  readonly suggestionsList: _angular_core.Signal<any>;
1239
1287
  readonly inputElement: _angular_core.Signal<any>;
1240
1288
  readonly inputValue: _angular_core.WritableSignal<string | null>;
1241
- searchValue: string | null;
1242
- inputHasFocus: boolean;
1243
- hideSuggestions: boolean;
1289
+ readonly searchValue: _angular_core.WritableSignal<string | null>;
1290
+ readonly inputHasFocus: _angular_core.WritableSignal<boolean>;
1291
+ readonly hideSuggestions: _angular_core.WritableSignal<boolean>;
1244
1292
  currentBlurTimer: ReturnType<typeof setTimeout> | null;
1245
1293
  placeholder: string | undefined;
1246
- VIEW_PORT_HEIGHT: number;
1247
- displayedElements: any[];
1248
- notificationMessageUpdated: boolean;
1294
+ readonly displayedElements: _angular_core.WritableSignal<any[]>;
1295
+ /**
1296
+ * Height of the suggestion list: at most NB_ITEMS_VISIBLE items are visible.
1297
+ */
1298
+ readonly VIEW_PORT_HEIGHT: _angular_core.Signal<number>;
1299
+ readonly notificationMessageUpdated: _angular_core.WritableSignal<boolean>;
1249
1300
  readonly disabledComputed: _angular_core.Signal<boolean>;
1301
+ protected readonly componentInjector: Injector;
1250
1302
  private currentItemGlobalIndex;
1251
1303
  private readonly NB_ITEMS_VISIBLE;
1252
1304
  private readonly filterSubject;
1253
1305
  private listHasFocus;
1254
- private activeDescendantId;
1306
+ private readonly activeDescendantId;
1255
1307
  private readonly SUGGESTION_SELECTED_CLASS;
1256
1308
  private readonly EXCLUDE_HTML_TAGS_REGEX;
1257
1309
  private readonly SUGGESTION_CUSTOM_ATTRIBUTE_LABEL_VALUE;
@@ -1299,7 +1351,10 @@ declare class FoehnAutocompleteComponent extends FoehnCheckableGroupComponent im
1299
1351
  private checkAndSetInputValue;
1300
1352
  private setSuggestionsDisplayed;
1301
1353
  private setDisplayedElements;
1302
- private resizeDisplayViewPort;
1354
+ /**
1355
+ * The virtual scroll viewport has to measure its size again once its new height is rendered.
1356
+ */
1357
+ private checkViewportSizeAfterRender;
1303
1358
  private getSelectedElement;
1304
1359
  private selectNextElement;
1305
1360
  private clearSelectionAndFindSelectedIndex;
@@ -1319,7 +1374,24 @@ declare class FoehnAutocompleteComponent extends FoehnCheckableGroupComponent im
1319
1374
  private getCustomValue;
1320
1375
  private getModelValueDisplayValue;
1321
1376
  private selectValueToDisplay;
1377
+ /**
1378
+ * Selects the value to display each time the elements are retrieved (onInitSubject) and each time the model
1379
+ * changes. `isSuggestionListDynamic` is read at each retrieval as it can change at runtime: only the matching
1380
+ * of the current kind of list is active (switchMap).
1381
+ */
1322
1382
  private matchValueOnModelChangeSubscription;
1383
+ /**
1384
+ * Dynamic suggestion list: the value to display is selected each time the model changes, with the current elements
1385
+ * and then with the elements loaded next, until they contain the model. The loaded elements depend on the search:
1386
+ * the model is not reset when it is not in them, and once displayed, the elements loaded for the search of the user
1387
+ * no longer change what is displayed.
1388
+ */
1389
+ private matchValueOfDynamicList;
1390
+ /**
1391
+ * Static suggestion list: each time the elements are retrieved, the value to display is selected for the current
1392
+ * model (replayed by model$), then each time the model changes.
1393
+ */
1394
+ private matchValueOfStaticList;
1323
1395
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FoehnAutocompleteComponent, never>;
1324
1396
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<FoehnAutocompleteComponent, "foehn-autocomplete", never, { "searchValueMinCharsCount": { "alias": "searchValueMinCharsCount"; "required": false; "isSignal": true; }; "allowCustomValue": { "alias": "allowCustomValue"; "required": false; "isSignal": true; }; "isSuggestionListDynamic": { "alias": "isSuggestionListDynamic"; "required": false; "isSignal": true; }; "customValueModelGenerator": { "alias": "customValueModelGenerator"; "required": false; "isSignal": true; }; "itemHeightInSuggestionListInPx": { "alias": "itemHeightInSuggestionListInPx"; "required": false; "isSignal": true; }; "elementSuggestionLabel": { "alias": "elementSuggestionLabel"; "required": false; "isSignal": true; }; "caseSensitiveSearch": { "alias": "caseSensitiveSearch"; "required": false; "isSignal": true; }; }, { "userSearchInput": "userSearchInput"; }, never, ["*"], true, never>;
1325
1397
  }
@@ -1347,8 +1419,8 @@ declare class FoehnInputTextComponent extends FoehnInputStringComponent {
1347
1419
  declare class FoehnInputForeignLocalityComponent extends FoehnInputComponent<Locality> {
1348
1420
  readonly localityRequired: _angular_core.InputSignal<boolean>;
1349
1421
  readonly zipCodeRequired: _angular_core.InputSignal<boolean>;
1350
- zipCode: string | null;
1351
- longName: string | null;
1422
+ readonly zipCode: _angular_core.WritableSignal<string | null>;
1423
+ readonly longName: _angular_core.WritableSignal<string | null>;
1352
1424
  updateLocality(): void;
1353
1425
  handleUserInput(): void;
1354
1426
  onModelChange(value: Locality | null): void;
@@ -1359,7 +1431,7 @@ declare class FoehnInputForeignLocalityComponent extends FoehnInputComponent<Loc
1359
1431
  }
1360
1432
 
1361
1433
  declare class FoehnInputForeignStreetComponent extends FoehnInputComponent<Street> {
1362
- longName: string | null;
1434
+ readonly longName: _angular_core.WritableSignal<string | null>;
1363
1435
  updateStreet(): void;
1364
1436
  handleUserInput(): void;
1365
1437
  onModelChange(value: Street | null): void;
@@ -1380,7 +1452,9 @@ declare class FoehnInputAddressComponent extends FoehnInputComponent<Address> im
1380
1452
  readonly showAdressLine2: _angular_core.InputSignal<boolean>;
1381
1453
  readonly countryRequired: _angular_core.InputSignal<boolean>;
1382
1454
  readonly swissNpaLocalityRequired: _angular_core.InputSignal<boolean>;
1455
+ readonly swissNpaLocalityBaseUrl: _angular_core.InputSignal<string>;
1383
1456
  readonly streetRequired: _angular_core.InputSignal<boolean | undefined>;
1457
+ readonly streetAllowCustomValue: _angular_core.InputSignal<boolean>;
1384
1458
  readonly streetNumberRequired: _angular_core.InputSignal<boolean>;
1385
1459
  readonly hideNotRequiredExtraLabelStreetNumber: _angular_core.InputSignal<boolean>;
1386
1460
  readonly foreignZipCodeRequired: _angular_core.InputSignal<boolean>;
@@ -1398,20 +1472,23 @@ declare class FoehnInputAddressComponent extends FoehnInputComponent<Address> im
1398
1472
  readonly foreignStreetComponent: _angular_core.Signal<FoehnInputForeignStreetComponent | undefined>;
1399
1473
  readonly foreignHouseNumber: _angular_core.Signal<FoehnInputTextComponent | undefined>;
1400
1474
  readonly countryAutocomplete: _angular_core.Signal<FoehnAutocompleteComponent | undefined>;
1401
- country: Country | null;
1402
- locality: Locality | null;
1403
- street: Street | null;
1404
- houseNumber: string | null;
1405
- postOfficeBoxText: string | null;
1406
- addressLine1: string | null;
1407
- addressLine2: string | null;
1475
+ readonly country: _angular_core.WritableSignal<Country | null>;
1476
+ readonly locality: _angular_core.WritableSignal<Locality | null>;
1477
+ readonly street: _angular_core.WritableSignal<Street | null>;
1478
+ readonly houseNumber: _angular_core.WritableSignal<string | null>;
1479
+ readonly postOfficeBoxText: _angular_core.WritableSignal<string | null>;
1480
+ readonly addressLine1: _angular_core.WritableSignal<string | null>;
1481
+ readonly addressLine2: _angular_core.WritableSignal<string | null>;
1408
1482
  countries: Observable<Country[]> | undefined;
1409
1483
  localities: Observable<Locality[]> | undefined;
1410
1484
  streets: Observable<Street[]> | undefined;
1411
1485
  streetNumbers: Observable<StreetNumber[]> | undefined;
1412
- streetCustomErrors: Record<string, string>;
1486
+ readonly streetCustomErrors: _angular_core.WritableSignal<Record<string, string>>;
1413
1487
  private readonly httpClient;
1414
1488
  private readonly dictionaryService;
1489
+ private readonly addressInjector;
1490
+ private isSanitizationScheduled;
1491
+ private isDefaultCountryScheduled;
1415
1492
  private readonly iso2IdSubject;
1416
1493
  private readonly zipCodeIdSubject;
1417
1494
  private readonly estrIdSubject;
@@ -1440,6 +1517,15 @@ declare class FoehnInputAddressComponent extends FoehnInputComponent<Address> im
1440
1517
  isForeignStreetRequired(): boolean;
1441
1518
  isPostOfficeBoxTextRequired(): boolean;
1442
1519
  private sanitizeAddress;
1520
+ /**
1521
+ * @returns the sanitized address when it differs from the given value, otherwise null
1522
+ */
1523
+ private getSanitizedModel;
1524
+ /**
1525
+ * The sanitized model is set after the next rendering (not while the view is checked), from the latest model: the
1526
+ * model given by the parent in between (e.g. prefilled asynchronously) has been received, it is not overwritten.
1527
+ */
1528
+ private scheduleModelSanitization;
1443
1529
  private replaceAtLeastOneNotNull;
1444
1530
  private getCountries;
1445
1531
  private getLocalities;
@@ -1455,9 +1541,16 @@ declare class FoehnInputAddressComponent extends FoehnInputComponent<Address> im
1455
1541
  private getValidValue;
1456
1542
  private isModelEmpty;
1457
1543
  private manageDefaultCountry;
1544
+ /**
1545
+ * The default country is applied after the next rendering (once for the changes of the same rendering), from the
1546
+ * latest state: without zone.js, a model given by the parent in between (e.g. prefilled asynchronously) is only
1547
+ * received with the next change detection, it must not be overwritten by the model with the default country only.
1548
+ */
1549
+ private scheduleDefaultCountry;
1550
+ private applyDefaultCountry;
1458
1551
  private isCountryInputDirty;
1459
1552
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FoehnInputAddressComponent, never>;
1460
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FoehnInputAddressComponent, "foehn-input-address", never, { "isOnlySwiss": { "alias": "isOnlySwiss"; "required": false; "isSignal": true; }; "showPostOfficeBoxText": { "alias": "showPostOfficeBoxText"; "required": false; "isSignal": true; }; "showAdressLines": { "alias": "showAdressLines"; "required": false; "isSignal": true; }; "showAdressLine1": { "alias": "showAdressLine1"; "required": false; "isSignal": true; }; "showAdressLine2": { "alias": "showAdressLine2"; "required": false; "isSignal": true; }; "countryRequired": { "alias": "countryRequired"; "required": false; "isSignal": true; }; "swissNpaLocalityRequired": { "alias": "swissNpaLocalityRequired"; "required": false; "isSignal": true; }; "streetRequired": { "alias": "streetRequired"; "required": false; "isSignal": true; }; "streetNumberRequired": { "alias": "streetNumberRequired"; "required": false; "isSignal": true; }; "hideNotRequiredExtraLabelStreetNumber": { "alias": "hideNotRequiredExtraLabelStreetNumber"; "required": false; "isSignal": true; }; "foreignZipCodeRequired": { "alias": "foreignZipCodeRequired"; "required": false; "isSignal": true; }; "foreignLocalityRequired": { "alias": "foreignLocalityRequired"; "required": false; "isSignal": true; }; "foreignStreetRequired": { "alias": "foreignStreetRequired"; "required": false; "isSignal": true; }; "foreignStreetNumberRequired": { "alias": "foreignStreetNumberRequired"; "required": false; "isSignal": true; }; "postOfficeBoxTextRequired": { "alias": "postOfficeBoxTextRequired"; "required": false; "isSignal": true; }; "addressLine1Required": { "alias": "addressLine1Required"; "required": false; "isSignal": true; }; "addressLine2Required": { "alias": "addressLine2Required"; "required": false; "isSignal": true; }; "withCompanyLocalities": { "alias": "withCompanyLocalities"; "required": false; "isSignal": true; }; "withDefaultCountry": { "alias": "withDefaultCountry"; "required": false; "isSignal": true; }; "specifiedCanton": { "alias": "specifiedCanton"; "required": false; "isSignal": true; }; "countriesUrl": { "alias": "countriesUrl"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
1553
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FoehnInputAddressComponent, "foehn-input-address", never, { "isOnlySwiss": { "alias": "isOnlySwiss"; "required": false; "isSignal": true; }; "showPostOfficeBoxText": { "alias": "showPostOfficeBoxText"; "required": false; "isSignal": true; }; "showAdressLines": { "alias": "showAdressLines"; "required": false; "isSignal": true; }; "showAdressLine1": { "alias": "showAdressLine1"; "required": false; "isSignal": true; }; "showAdressLine2": { "alias": "showAdressLine2"; "required": false; "isSignal": true; }; "countryRequired": { "alias": "countryRequired"; "required": false; "isSignal": true; }; "swissNpaLocalityRequired": { "alias": "swissNpaLocalityRequired"; "required": false; "isSignal": true; }; "swissNpaLocalityBaseUrl": { "alias": "swissNpaLocalityBaseUrl"; "required": false; "isSignal": true; }; "streetRequired": { "alias": "streetRequired"; "required": false; "isSignal": true; }; "streetAllowCustomValue": { "alias": "streetAllowCustomValue"; "required": false; "isSignal": true; }; "streetNumberRequired": { "alias": "streetNumberRequired"; "required": false; "isSignal": true; }; "hideNotRequiredExtraLabelStreetNumber": { "alias": "hideNotRequiredExtraLabelStreetNumber"; "required": false; "isSignal": true; }; "foreignZipCodeRequired": { "alias": "foreignZipCodeRequired"; "required": false; "isSignal": true; }; "foreignLocalityRequired": { "alias": "foreignLocalityRequired"; "required": false; "isSignal": true; }; "foreignStreetRequired": { "alias": "foreignStreetRequired"; "required": false; "isSignal": true; }; "foreignStreetNumberRequired": { "alias": "foreignStreetNumberRequired"; "required": false; "isSignal": true; }; "postOfficeBoxTextRequired": { "alias": "postOfficeBoxTextRequired"; "required": false; "isSignal": true; }; "addressLine1Required": { "alias": "addressLine1Required"; "required": false; "isSignal": true; }; "addressLine2Required": { "alias": "addressLine2Required"; "required": false; "isSignal": true; }; "withCompanyLocalities": { "alias": "withCompanyLocalities"; "required": false; "isSignal": true; }; "withDefaultCountry": { "alias": "withDefaultCountry"; "required": false; "isSignal": true; }; "specifiedCanton": { "alias": "specifiedCanton"; "required": false; "isSignal": true; }; "countriesUrl": { "alias": "countriesUrl"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
1461
1554
  }
1462
1555
 
1463
1556
  declare class FoehnBreadcrumbComponent implements OnInit {
@@ -1489,7 +1582,7 @@ declare class FoehnCheckboxComponent extends FoehnCheckableGroupComponent implem
1489
1582
  }
1490
1583
 
1491
1584
  declare class FoehnRadioComponent extends FoehnCheckableGroupComponent implements OnInit, AfterViewChecked {
1492
- inputValue: string | null | undefined;
1585
+ readonly inputValue: _angular_core.WritableSignal<string | null | undefined>;
1493
1586
  ngOnInit(): void;
1494
1587
  onModelChange(value: any): void;
1495
1588
  ngAfterViewChecked(): void;
@@ -1542,16 +1635,21 @@ declare class FoehnMultiselectAutocompleteComponent extends FoehnAutocompleteCom
1542
1635
  readonly defaultElemRef: _angular_core.Signal<readonly ElementRef<any>[]>;
1543
1636
  readonly defaultDeleteFocusArea: _angular_core.Signal<ElementRef<any> | undefined>;
1544
1637
  readonly defaultElementValuesComputed: _angular_core.Signal<unknown[]>;
1545
- autocompleteInputValue: string | null;
1546
- showEmptyListMessage: boolean;
1547
- srAnnouncements: string;
1638
+ readonly autocompleteInputValue: _angular_core.WritableSignal<string | null>;
1639
+ /**
1640
+ * Every element is selected: a message replaces the autocomplete (not for an empty list of elements).
1641
+ */
1642
+ readonly showEmptyListMessage: _angular_core.Signal<boolean>;
1643
+ readonly srAnnouncements: _angular_core.WritableSignal<string>;
1644
+ protected readonly suggestions: _angular_core.Signal<[]>;
1548
1645
  private readonly dictionaryService;
1549
1646
  private srAnnouncementClearTimer;
1550
1647
  private readonly SR_ANNOUNCEMENT_CLEAR_TIMEOUT_INTERVAL_MS;
1551
1648
  private pendingRemovedIndexForFocus;
1649
+ private readonly suggestionsEffect;
1650
+ private readonly autocompleteInputVisibilityEffect;
1552
1651
  private readonly selectedElemRefEffect;
1553
1652
  ngOnInit(): void;
1554
- onModelChange(value: any): void;
1555
1653
  hasErrorsToDisplay(): boolean;
1556
1654
  getLabel(value: any): string | null | undefined;
1557
1655
  updateMultiselectAutocomplete(currentModel: unknown[]): void;
@@ -1560,18 +1658,16 @@ declare class FoehnMultiselectAutocompleteComponent extends FoehnAutocompleteCom
1560
1658
  removeItem(item: unknown, index: number): void;
1561
1659
  trackByFn(index: number): number;
1562
1660
  canBeDeleted(index: number): boolean;
1563
- onAutocompleteElementsLoaded(elements: []): void;
1661
+ onAutocompleteElementsLoaded(): void;
1564
1662
  getDeleteButtonAriaLabel(element: unknown): string;
1565
1663
  hasDefaultDeleteFocusArea(): boolean;
1566
1664
  getBadgeLabel(element: any): string;
1567
- private manageListWhenElementsAreLoaded;
1568
1665
  private findElementByModelItem;
1569
1666
  private getValidValue;
1570
1667
  private focusNextAreaAfterDelete;
1571
1668
  private filterAutocompleteElements;
1572
- private manageSuggestionListAndFocusAfterAddingAnItem;
1573
- private manageSuggestionListAndFocusAfterRemovingAnItem;
1574
- private showAlertMessageAndHideAutocomplete;
1669
+ private focusAfterAddingAnItem;
1670
+ private applySuggestionsToAutocomplete;
1575
1671
  private manageScreenReaderAnnouncement;
1576
1672
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FoehnMultiselectAutocompleteComponent, never>;
1577
1673
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<FoehnMultiselectAutocompleteComponent, "foehn-multiselect-autocomplete", never, { "elementBadgeLabel": { "alias": "elementBadgeLabel"; "required": false; "isSignal": true; }; "selectedItemsListLegend": { "alias": "selectedItemsListLegend"; "required": false; "isSignal": true; }; "noElementsSelectedLabel": { "alias": "noElementsSelectedLabel"; "required": false; "isSignal": true; }; "excludeFromErrorSummary": { "alias": "excludeFromErrorSummary"; "required": false; "isSignal": true; }; "defaultElementValues": { "alias": "defaultElementValues"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
@@ -1672,7 +1768,7 @@ declare class FoehnInputPrefixedTextComponent extends FoehnInputStringComponent
1672
1768
  readonly prefixColClass: _angular_core.InputSignal<string>;
1673
1769
  readonly textColClass: _angular_core.InputSignal<string>;
1674
1770
  readonly text: _angular_core.Signal<string | null>;
1675
- private previousPrefix;
1771
+ private readonly previousPrefix;
1676
1772
  constructor();
1677
1773
  onTextChange(value: string | undefined | null): void;
1678
1774
  updateFullText(text: string | null | undefined): void;
@@ -1685,10 +1781,10 @@ declare class FoehnInputPrefixedTextComponent extends FoehnInputStringComponent
1685
1781
  declare class FoehnInputTextareaComponent extends FoehnInputStringComponent implements OnInit {
1686
1782
  readonly rows: _angular_core.InputSignal<number>;
1687
1783
  readonly displayCharCount: _angular_core.InputSignal<boolean | undefined>;
1688
- isCharCountExceeded: boolean;
1689
- charCountLeft: number | undefined;
1690
- charCountLabel: string | undefined;
1691
- ariaLiveStatus: string;
1784
+ readonly isCharCountExceeded: _angular_core.WritableSignal<boolean>;
1785
+ readonly charCountLeft: _angular_core.WritableSignal<number | undefined>;
1786
+ readonly charCountLabel: _angular_core.WritableSignal<string | undefined>;
1787
+ readonly ariaLiveStatus: _angular_core.WritableSignal<string>;
1692
1788
  private readonly dictionary;
1693
1789
  ngOnInit(): void;
1694
1790
  onModelChange(value: string): void;
@@ -1708,10 +1804,10 @@ declare class FoehnDateComponent extends FoehnInputComponent<(number | null)[]>
1708
1804
  readonly maxDate: _angular_core.InputSignal<number[] | undefined>;
1709
1805
  readonly childrenLabelSrOnly: _angular_core.InputSignal<boolean>;
1710
1806
  readonly clearButton: _angular_core.InputSignal<boolean>;
1711
- day: string | null;
1712
- month: string | null;
1713
- year: string | null;
1714
- datePickerModel: number[] | null;
1807
+ readonly day: _angular_core.WritableSignal<string | null>;
1808
+ readonly month: _angular_core.WritableSignal<string | null>;
1809
+ readonly year: _angular_core.WritableSignal<string | null>;
1810
+ readonly datePickerModel: _angular_core.WritableSignal<number[] | null>;
1715
1811
  readonly disabledComputed: Signal<boolean>;
1716
1812
  constructor();
1717
1813
  updateDate(): void;
@@ -1739,18 +1835,23 @@ declare class FoehnDateTimeComponent extends FoehnInputComponent<(number | null)
1739
1835
  readonly hideDatePickerButton: _angular_core.InputSignal<boolean>;
1740
1836
  readonly childrenLabelSrOnly: _angular_core.InputSignal<boolean>;
1741
1837
  readonly clearButton: _angular_core.InputSignal<boolean>;
1742
- date: (number | null)[] | null;
1743
- time: string | null;
1838
+ readonly date: _angular_core.WritableSignal<(number | null)[] | null>;
1839
+ readonly time: _angular_core.WritableSignal<string | null>;
1744
1840
  private readonly userInputTimeSubject;
1745
1841
  private readonly timeModelChangeSubject;
1746
1842
  private readonly dateHelper;
1843
+ private readonly pendingTasksService;
1844
+ /**
1845
+ * The application is not stable (e.g. fixture.whenStable() in tests) while a time user input is debounced.
1846
+ */
1847
+ private removePendingTimeInputTask;
1747
1848
  constructor();
1748
1849
  updateDateTime(): void;
1749
1850
  handleUserInput(): void;
1750
1851
  timeModelChange(value: string | null | undefined): void;
1751
1852
  handleUserInputTime(value: string | null | undefined): void;
1752
1853
  handleUserInputDate(): void;
1753
- onModelChange(value: (number | null)[] | null): void;
1854
+ onModelChange(_value: (number | null)[] | null): void;
1754
1855
  getValidValue(): (number | null)[] | null | undefined;
1755
1856
  resetModel(): void;
1756
1857
  isEmpty(): boolean;
@@ -1758,6 +1859,7 @@ declare class FoehnDateTimeComponent extends FoehnInputComponent<(number | null)
1758
1859
  private isTimeEmpty;
1759
1860
  private isDateEmpty;
1760
1861
  private isDateEmptyDependingOnDisabled;
1862
+ private stopPendingTimeInputTask;
1761
1863
  private toNumber;
1762
1864
  private numberToString;
1763
1865
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FoehnDateTimeComponent, never>;
@@ -1767,15 +1869,19 @@ declare class FoehnDateTimeComponent extends FoehnInputComponent<(number | null)
1767
1869
  declare class FoehnTimeComponent extends FoehnInputStringComponent {
1768
1870
  readonly childrenLabelSrOnly: _angular_core.InputSignal<boolean>;
1769
1871
  readonly clearButton: _angular_core.InputSignal<boolean>;
1770
- hour: string | null;
1771
- minute: string | null;
1872
+ readonly hour: _angular_core.WritableSignal<string | null>;
1873
+ readonly minute: _angular_core.WritableSignal<string | null>;
1772
1874
  private readonly dateHelper;
1773
1875
  constructor();
1774
1876
  updateTime(): void;
1775
1877
  handleUserInput(): void;
1776
- onModelChange(value: string): void;
1878
+ onModelChange(_value: string): void;
1777
1879
  resetModel(): void;
1778
1880
  isEmpty(): boolean;
1881
+ /**
1882
+ * @returns the part of the time of the model, the previous value when the model is not a complete time
1883
+ */
1884
+ private getTimePart;
1779
1885
  private getValidValue;
1780
1886
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FoehnTimeComponent, never>;
1781
1887
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<FoehnTimeComponent, "foehn-input-time", never, { "childrenLabelSrOnly": { "alias": "childrenLabelSrOnly"; "required": false; "isSignal": true; }; "clearButton": { "alias": "clearButton"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
@@ -1783,9 +1889,9 @@ declare class FoehnTimeComponent extends FoehnInputStringComponent {
1783
1889
 
1784
1890
  declare class FoehnInputNav13Component extends FoehnInputStringComponent implements OnInit {
1785
1891
  PREFIX_NAVS: string;
1786
- part2: string | null;
1787
- part3: string | null;
1788
- part4: string | null;
1892
+ readonly part2: _angular_core.WritableSignal<string | null>;
1893
+ readonly part3: _angular_core.WritableSignal<string | null>;
1894
+ readonly part4: _angular_core.WritableSignal<string | null>;
1789
1895
  readonly label: _angular_core.InputSignalWithTransform<string | undefined, string | undefined>;
1790
1896
  constructor();
1791
1897
  ngOnInit(): void;
@@ -1853,12 +1959,13 @@ declare const GrowlType: {
1853
1959
  DANGER: string;
1854
1960
  };
1855
1961
 
1856
- declare class SdkDictionaryPipe implements PipeTransform {
1962
+ declare class SdkDictionaryPipe implements PipeTransform, OnDestroy {
1857
1963
  private readonly dictionaryService;
1858
1964
  private readonly ref;
1859
1965
  private readonly asyncPipe;
1860
1966
  constructor();
1861
1967
  transform(key: any, placeHolderType?: PlaceholderType): any;
1968
+ ngOnDestroy(): void;
1862
1969
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdkDictionaryPipe, never>;
1863
1970
  static ɵpipe: _angular_core.ɵɵPipeDeclaration<SdkDictionaryPipe, "fromDictionary", true>;
1864
1971
  }
@@ -1868,17 +1975,25 @@ declare abstract class AbstractFoehnNavigationComponent {
1868
1975
  readonly showNextButton: _angular_core.InputSignal<boolean>;
1869
1976
  readonly nextLabel: _angular_core.InputSignal<string>;
1870
1977
  readonly prevLabel: _angular_core.InputSignal<string>;
1978
+ readonly loadingLabel: _angular_core.InputSignal<string>;
1871
1979
  readonly continueLaterLabel: _angular_core.InputSignal<string>;
1872
1980
  readonly continueLaterAlreadyRegisteredLabel: _angular_core.InputSignal<string>;
1873
1981
  readonly continueLaterConnectedLabel: _angular_core.InputSignal<string>;
1874
1982
  readonly triggerRecoveryOnPageChange: _angular_core.InputSignal<boolean>;
1875
1983
  readonly onNext: _angular_core.OutputEmitterRef<void>;
1876
1984
  readonly onPrevious: _angular_core.OutputEmitterRef<void>;
1985
+ readonly pendingNavigationDirection: Signal<NavigationDirection | null>;
1986
+ readonly loadingDirection: Signal<NavigationDirection | null>;
1987
+ readonly isNavigating: Signal<boolean>;
1988
+ readonly isLoading: Signal<boolean>;
1989
+ readonly isLoadingNext: Signal<boolean>;
1990
+ readonly isLoadingPrevious: Signal<boolean>;
1991
+ constructor();
1877
1992
  goToNext(): void;
1878
1993
  goToPrevious(): void;
1879
1994
  canShowNextButton(): boolean;
1880
1995
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AbstractFoehnNavigationComponent, never>;
1881
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AbstractFoehnNavigationComponent, never, never, { "showContinueLaterButton": { "alias": "showContinueLaterButton"; "required": false; "isSignal": true; }; "showNextButton": { "alias": "showNextButton"; "required": false; "isSignal": true; }; "nextLabel": { "alias": "nextLabel"; "required": false; "isSignal": true; }; "prevLabel": { "alias": "prevLabel"; "required": false; "isSignal": true; }; "continueLaterLabel": { "alias": "continueLaterLabel"; "required": false; "isSignal": true; }; "continueLaterAlreadyRegisteredLabel": { "alias": "continueLaterAlreadyRegisteredLabel"; "required": false; "isSignal": true; }; "continueLaterConnectedLabel": { "alias": "continueLaterConnectedLabel"; "required": false; "isSignal": true; }; "triggerRecoveryOnPageChange": { "alias": "triggerRecoveryOnPageChange"; "required": false; "isSignal": true; }; }, { "onNext": "onNext"; "onPrevious": "onPrevious"; }, never, never, true, never>;
1996
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AbstractFoehnNavigationComponent, never, never, { "showContinueLaterButton": { "alias": "showContinueLaterButton"; "required": false; "isSignal": true; }; "showNextButton": { "alias": "showNextButton"; "required": false; "isSignal": true; }; "nextLabel": { "alias": "nextLabel"; "required": false; "isSignal": true; }; "prevLabel": { "alias": "prevLabel"; "required": false; "isSignal": true; }; "loadingLabel": { "alias": "loadingLabel"; "required": false; "isSignal": true; }; "continueLaterLabel": { "alias": "continueLaterLabel"; "required": false; "isSignal": true; }; "continueLaterAlreadyRegisteredLabel": { "alias": "continueLaterAlreadyRegisteredLabel"; "required": false; "isSignal": true; }; "continueLaterConnectedLabel": { "alias": "continueLaterConnectedLabel"; "required": false; "isSignal": true; }; "triggerRecoveryOnPageChange": { "alias": "triggerRecoveryOnPageChange"; "required": false; "isSignal": true; }; }, { "onNext": "onNext"; "onPrevious": "onPrevious"; }, never, never, true, never>;
1882
1997
  }
1883
1998
 
1884
1999
  declare class FoehnNavigationComponent extends AbstractFoehnNavigationComponent implements OnInit {
@@ -2141,8 +2256,8 @@ declare class FoehnListComponent implements OnChanges {
2141
2256
  readonly trackByFn: _angular_core.InputSignal<(index: number, _item: unknown) => number | string>;
2142
2257
  readonly templateVariable: _angular_core.Signal<TemplateRef<any> | undefined>;
2143
2258
  readonly pageChange: _angular_core.OutputEmitterRef<PageChangeEvent>;
2144
- currentPage: number;
2145
- filteredList: unknown[];
2259
+ readonly currentPage: _angular_core.WritableSignal<number>;
2260
+ readonly filteredList: _angular_core.WritableSignal<unknown[]>;
2146
2261
  ngOnChanges(changes: SimpleChanges): void;
2147
2262
  previousPage(): void;
2148
2263
  hasPreviousPage(): boolean;
@@ -2198,9 +2313,9 @@ declare class FoehnTableComponent extends FoehnInputComponent<unknown[]> impleme
2198
2313
  readonly trackByFn: _angular_core.InputSignal<TrackByFunction<unknown>>;
2199
2314
  readonly pageChange: _angular_core.OutputEmitterRef<FoehnTablePageChangeEvent>;
2200
2315
  readonly rowClick: _angular_core.OutputEmitterRef<RowElement>;
2201
- currentPage: number;
2202
- filteredList: unknown[];
2203
- private _list;
2316
+ readonly currentPage: _angular_core.WritableSignal<number>;
2317
+ readonly filteredList: _angular_core.WritableSignal<unknown[]>;
2318
+ private readonly _list;
2204
2319
  onModelChange(value: unknown[]): void;
2205
2320
  trackFoehnTableColumnConfiguration: TrackByFunction<FoehnTableColumnConfiguration<any>>;
2206
2321
  ngOnChanges(changes: SimpleChanges): void;
@@ -2303,6 +2418,7 @@ declare class GrecaptchaComponent implements OnInit, OnDestroy {
2303
2418
  private readonly sdkLogsService;
2304
2419
  private readonly destroyRef;
2305
2420
  private widgetId;
2421
+ private scriptElement;
2306
2422
  ngOnInit(): void;
2307
2423
  ngOnDestroy(): void;
2308
2424
  reset(): void;
@@ -2320,21 +2436,17 @@ declare class GrecaptchaComponent implements OnInit, OnDestroy {
2320
2436
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<GrecaptchaComponent, "app-grecaptcha", never, { "siteKey": { "alias": "siteKey"; "required": false; "isSignal": true; }; }, { "loaded": "loaded"; "scriptError": "scriptError"; "tokenOnSuccess": "tokenOnSuccess"; "destroyed": "destroyed"; }, never, never, true, never>;
2321
2437
  }
2322
2438
 
2323
- declare class SdkRecaptchaComponent implements OnInit, OnDestroy {
2439
+ declare class SdkRecaptchaComponent {
2324
2440
  readonly grecaptcha: _angular_core.Signal<GrecaptchaComponent | undefined>;
2325
2441
  shouldDisplay: Observable<boolean>;
2326
- isLoaded: boolean;
2327
- hasLoadingError: boolean;
2442
+ readonly isLoaded: _angular_core.WritableSignal<boolean>;
2443
+ readonly hasLoadingError: _angular_core.WritableSignal<boolean>;
2328
2444
  errors: Observable<FormError[]>;
2329
2445
  publicKey: Observable<string | null>;
2330
2446
  recaptchaUrlForUserError: Observable<string | null>;
2331
2447
  private readonly recaptchaService;
2332
- private readonly cdr;
2333
2448
  private readonly destroyRef;
2334
- private forceDetectChange;
2335
2449
  constructor();
2336
- ngOnInit(): void;
2337
- ngOnDestroy(): void;
2338
2450
  setIsLoaded(isLoaded: boolean): void;
2339
2451
  setScriptError(scriptError: boolean): void;
2340
2452
  tokenOnSuccess(token: string | null): void;
@@ -2354,7 +2466,7 @@ declare const IAM_ACV_OIDC_REDIRECT_LOCATION_REGEX: InjectionToken<RegExp>;
2354
2466
 
2355
2467
  declare class RedirectComponent implements OnDestroy {
2356
2468
  isModalVisible: Observable<boolean>;
2357
- counter: number;
2469
+ readonly counter: _angular_core.WritableSignal<number>;
2358
2470
  redirectUrl: string;
2359
2471
  private readonly DEFAULT_COUNTER;
2360
2472
  private readonly iamInterceptor;
@@ -2400,10 +2512,20 @@ declare class DocumentReferenceWithFile extends DocumentReference {
2400
2512
  file: File | undefined | null;
2401
2513
  }
2402
2514
 
2515
+ declare const getSafeFileNameForErrorMessage: (fileName: string) => string;
2516
+ /**
2517
+ * Limits of an uploader overriding the ones of the application info, displayed in its error messages.
2518
+ */
2519
+ interface UploaderErrorLimits {
2520
+ overrideAcceptedExtensions?: string;
2521
+ overrideMaxFileNameLength?: number;
2522
+ overrideIllegalCharacters?: string;
2523
+ maxFileSizeInMo?: number;
2524
+ }
2403
2525
  declare class UploaderHelper {
2404
2526
  private readonly dictionaryService;
2405
2527
  private readonly applicationInfoService;
2406
- private _accept;
2528
+ private readonly _accept;
2407
2529
  private _fileMaxSizeInBytesByFormKey;
2408
2530
  private _maxFileNameLength;
2409
2531
  private _illegalCharacters;
@@ -2420,16 +2542,32 @@ declare class UploaderHelper {
2420
2542
  get accept(): string;
2421
2543
  set accept(value: string);
2422
2544
  getMaxFileSizeInBytesForFormKey(formKey: string): number | undefined | null;
2423
- isFileTooBig(formKey: string, fileSizeInBytes: number): boolean;
2545
+ /**
2546
+ * The maximum size of a file: the one of its form key (application info) and `maxFileSizeInMo` (a limit of the
2547
+ * component), the smallest of both.
2548
+ */
2549
+ getMaxFileSizeInBytes(formKey: string, maxFileSizeInMo?: number): number | null;
2550
+ isFileTooBig(formKey: string, fileSizeInBytes: number, maxFileSizeInMo?: number): boolean;
2424
2551
  isFileTooSmall(fileSizeInBytes: number): boolean;
2425
2552
  isFileNameLengthValid(filename: string, overrideMaxFileNameLength?: number): boolean;
2426
2553
  isFileNameNameValid(filename: string, overrideIllegalCharacters?: string): boolean;
2427
2554
  getFileExtension(filename: string): string;
2428
2555
  isFileExtensionValid(fileExtension: string, overrideAcceptedExtensions?: string): boolean;
2429
2556
  getUniqueErrorByCode(name: string, errorCode: string, fileName: string, customErrors: Record<string, string>, overrideAcceptedExtensions?: string, overrideMaxFileNameLength?: number, overrideIllegalCharacters?: string): FormError;
2430
- addCustomErrorOrDefault(name: string, destinationErrors: FormError[], errorCode: string, fileName: string, customErrors: Record<string, string>, overrideAcceptedExtensions?: string, overrideMaxFileNameLength?: number, overrideIllegalCharacters?: string): void;
2557
+ addCustomErrorOrDefault(name: string, destinationErrors: FormError[], errorCode: string, fileName: string, customErrors: Record<string, string>, limits?: UploaderErrorLimits): void;
2558
+ /**
2559
+ * The default messages of the upload errors, in the current language.
2560
+ */
2561
+ getDefaultCustomErrors(): Record<string, string>;
2562
+ /**
2563
+ * The messages of the upload errors: the given custom errors, completed with the default messages.
2564
+ */
2565
+ mergeCustomErrors(customErrors: Record<string, string>, defaultCustomErrors?: Record<string, string>): Record<string, string>;
2566
+ /**
2567
+ * @deprecated Overwrites the given custom errors with the default messages: use `mergeCustomErrors()`.
2568
+ */
2431
2569
  createDefaultCustomErrors(customErrors: Record<string, string>): void;
2432
- getLocalErrors(name: string, files: File[], customErrors: Record<string, string>, overrideAcceptedExtensions?: string, overrideMaxFileNameLength?: number, overrideIllegalCharacters?: string): FormError[];
2570
+ getLocalErrors(name: string, files: File[], customErrors: Record<string, string>, overrideAcceptedExtensions?: string, overrideMaxFileNameLength?: number, overrideIllegalCharacters?: string, maxFileSizeInMo?: number): FormError[];
2433
2571
  hasLiveUploadErrors(errors: FormError[]): boolean;
2434
2572
  preventAndStop(event: any): void;
2435
2573
  getAllFilesCount(data: any): string | null;
@@ -2442,6 +2580,7 @@ declare class UploaderHelper {
2442
2580
  mapToFormData(documents: DocumentReferenceWithFile[], formKey: string, language: string): FormData;
2443
2581
  removeCommasInLabel(label: string): string;
2444
2582
  private isTooBig;
2583
+ private getUniqueError;
2445
2584
  private replaceErrorMessageKeys;
2446
2585
  private getDefaultUnknownErrorMessage;
2447
2586
  private normalizeKey;
@@ -2482,11 +2621,13 @@ declare abstract class AbstractFoehnUploaderComponent<T> extends FoehnInputCompo
2482
2621
  protected deleteDocumentSubject: BehaviorSubject<DocumentReference | File | null>;
2483
2622
  protected uploadFilesSubject: BehaviorSubject<File[] | null>;
2484
2623
  protected currentLanguage: string | undefined;
2624
+ protected readonly uploaderCustomErrors: _angular_core.Signal<Record<string, string>>;
2485
2625
  protected readonly resolvedChooseButtonLabel: _angular_core.Signal<string>;
2486
2626
  protected readonly resolvedChooseButtonLabelMultiple: _angular_core.Signal<string>;
2487
2627
  protected readonly resolvedDropZoneLabel: _angular_core.Signal<string>;
2488
2628
  protected readonly resolvedDropZoneLabelMultiple: _angular_core.Signal<string>;
2489
2629
  protected readonly resolvedDeleteConfirmationMessage: _angular_core.Signal<string>;
2630
+ private readonly defaultCustomErrors;
2490
2631
  constructor();
2491
2632
  abstract get addedFiles(): unknown[];
2492
2633
  onDocumentDragOver(event: any): void;
@@ -2503,6 +2644,14 @@ declare abstract class AbstractFoehnUploaderComponent<T> extends FoehnInputCompo
2503
2644
  toMegaOctets(size: number): number;
2504
2645
  hasLiveUploadErrors(): boolean;
2505
2646
  protected removeFileOnConfirmation(document: DocumentReference | File): void;
2647
+ /**
2648
+ * A maximum size of each file, in addition to the one of its form key in the application info.
2649
+ */
2650
+ protected getMaxFileSizeInMo(): number | undefined;
2651
+ /**
2652
+ * The limits of this uploader displayed in its error messages.
2653
+ */
2654
+ protected getErrorLimits(): UploaderErrorLimits;
2506
2655
  protected displayLocalErrors(files: File[]): FormError[];
2507
2656
  protected isMaxSelectionReached(files: File[]): boolean;
2508
2657
  protected isMaxFilesCountReached(files: File[]): boolean;
@@ -2512,6 +2661,17 @@ declare abstract class AbstractFoehnUploaderComponent<T> extends FoehnInputCompo
2512
2661
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AbstractFoehnUploaderComponent<any>, never, never, { "showUploadButton": { "alias": "showUploadButton"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "hideGlobalInfos": { "alias": "hideGlobalInfos"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "key": { "alias": "key"; "required": false; "isSignal": true; }; "overrideAcceptedExtensions": { "alias": "overrideAcceptedExtensions"; "required": false; "isSignal": true; }; "overrideMaxFileNameLength": { "alias": "overrideMaxFileNameLength"; "required": false; "isSignal": true; }; "overrideIllegalCharacters": { "alias": "overrideIllegalCharacters"; "required": false; "isSignal": true; }; "showDeleteConfirmationMessage": { "alias": "showDeleteConfirmationMessage"; "required": false; "isSignal": true; }; "maxSimultaneousSelectedFiles": { "alias": "maxSimultaneousSelectedFiles"; "required": false; "isSignal": true; }; "maxFilesCount": { "alias": "maxFilesCount"; "required": false; "isSignal": true; }; "maxFilesSizeInMo": { "alias": "maxFilesSizeInMo"; "required": false; "isSignal": true; }; "dragAndDrop": { "alias": "dragAndDrop"; "required": false; "isSignal": true; }; "shouldDisplayFileSavedConfirmation": { "alias": "shouldDisplayFileSavedConfirmation"; "required": false; "isSignal": true; }; "chooseButtonLabel": { "alias": "chooseButtonLabel"; "required": false; "isSignal": true; }; "chooseButtonLabelMultiple": { "alias": "chooseButtonLabelMultiple"; "required": false; "isSignal": true; }; "dropZoneLabel": { "alias": "dropZoneLabel"; "required": false; "isSignal": true; }; "dropZoneLabelMultiple": { "alias": "dropZoneLabelMultiple"; "required": false; "isSignal": true; }; "deleteConfirmationMessage": { "alias": "deleteConfirmationMessage"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2513
2662
  }
2514
2663
 
2664
+ interface DocumentChanges {
2665
+ filesToAdd: File[];
2666
+ documentsToDelete: DocumentReference[];
2667
+ }
2668
+ /**
2669
+ * Computes what needs to be uploaded/deleted server-side by comparing a document list
2670
+ * currently held in a "local upload" model (mixing already persisted `DocumentReference`
2671
+ * and pending `DocumentReferenceWithFile`) against the list as it was originally loaded.
2672
+ */
2673
+ declare function splitDocumentChanges(current: DocumentReference[] | undefined | null, original: DocumentReference[] | undefined | null): DocumentChanges;
2674
+
2515
2675
  declare class PendingFiles {
2516
2676
  url: string | undefined | null;
2517
2677
  formKey: string | undefined | null;
@@ -2527,7 +2687,7 @@ declare class PageUploadLimitService {
2527
2687
  private readonly growlService;
2528
2688
  private pageMaxFilesCount;
2529
2689
  private pageMaxFilesSizeInMo;
2530
- private registeredUploaders;
2690
+ private readonly registeredUploaders;
2531
2691
  setPageMaxFilesCount(countLimit: number): void;
2532
2692
  setPageMaxFilesSizeInMo(maxSizeInMo: number): void;
2533
2693
  registerUploader(uploader: UploaderRegistration): void;
@@ -2599,7 +2759,7 @@ declare class PendingUploadService {
2599
2759
 
2600
2760
  declare class FoehnMultiUploadComponent extends AbstractFoehnUploaderComponent<DocumentReference[]> implements OnInit, OnDestroy {
2601
2761
  readonly url: _angular_core.InputSignal<string>;
2602
- readonly reference: _angular_core.InputSignal<string | undefined>;
2762
+ readonly reference: _angular_core.InputSignal<string | null | undefined>;
2603
2763
  multiUploadService: MultiUploadService;
2604
2764
  pendingUploadService: PendingUploadService;
2605
2765
  protected pageUploadLimitService: PageUploadLimitService;
@@ -2658,23 +2818,36 @@ declare class FoehnBoMultiUploadComponent extends AbstractFoehnUploaderComponent
2658
2818
  readonly deleteUrl: _angular_core.InputSignal<string | undefined>;
2659
2819
  readonly downloadUrl: _angular_core.InputSignal<string | undefined>;
2660
2820
  readonly optionalLabelKey: _angular_core.InputSignal<string>;
2821
+ readonly localUpload: _angular_core.InputSignal<boolean>;
2822
+ readonly maxFileSizeInMo: _angular_core.InputSignal<number | undefined>;
2823
+ readonly chooseButtonStyleModifier: _angular_core.InputSignal<string | undefined>;
2661
2824
  readonly documentDeleted: _angular_core.OutputEmitterRef<DocumentReference>;
2662
2825
  boMultiUploadService: BoMultiUploadService;
2663
2826
  protected pageUploadLimitService: PageUploadLimitService;
2827
+ private readonly blobUrls;
2828
+ private localSequence;
2664
2829
  get addedFiles(): DocumentReference[];
2665
2830
  ngOnInit(): void;
2666
2831
  ngOnDestroy(): void;
2832
+ isPending(document: DocumentReference): boolean;
2833
+ getDocumentDownloadUrl(document: DocumentReference): string;
2667
2834
  getTotalFilesSize(): number;
2668
2835
  canAddMoreFiles(): boolean;
2669
2836
  onFileChange(event: Event): void;
2670
2837
  onDrop(event: any): void;
2838
+ protected getMaxFileSizeInMo(): number | undefined;
2839
+ protected removeFileOnConfirmation(document: DocumentReference | File): void;
2671
2840
  private populateFileItemList;
2841
+ private addFilesLocally;
2842
+ private toPendingDocument;
2843
+ private removeDocumentLocally;
2844
+ private revokeBlobUrl;
2672
2845
  private displayResultFromServer;
2673
2846
  private removeDocumentFromModel;
2674
2847
  private displayErrorsFromServer;
2675
2848
  private manageSingleFile;
2676
2849
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FoehnBoMultiUploadComponent, never>;
2677
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FoehnBoMultiUploadComponent, "foehn-bo-multi-upload", never, { "uploadUrl": { "alias": "uploadUrl"; "required": false; "isSignal": true; }; "deleteUrl": { "alias": "deleteUrl"; "required": false; "isSignal": true; }; "downloadUrl": { "alias": "downloadUrl"; "required": false; "isSignal": true; }; "optionalLabelKey": { "alias": "optionalLabelKey"; "required": false; "isSignal": true; }; }, { "documentDeleted": "documentDeleted"; }, never, ["*"], true, never>;
2850
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FoehnBoMultiUploadComponent, "foehn-bo-multi-upload", never, { "uploadUrl": { "alias": "uploadUrl"; "required": false; "isSignal": true; }; "deleteUrl": { "alias": "deleteUrl"; "required": false; "isSignal": true; }; "downloadUrl": { "alias": "downloadUrl"; "required": false; "isSignal": true; }; "optionalLabelKey": { "alias": "optionalLabelKey"; "required": false; "isSignal": true; }; "localUpload": { "alias": "localUpload"; "required": false; "isSignal": true; }; "maxFileSizeInMo": { "alias": "maxFileSizeInMo"; "required": false; "isSignal": true; }; "chooseButtonStyleModifier": { "alias": "chooseButtonStyleModifier"; "required": false; "isSignal": true; }; }, { "documentDeleted": "documentDeleted"; }, never, ["*"], true, never>;
2678
2851
  }
2679
2852
 
2680
2853
  declare class FoehnPictureUploadComponent extends FoehnInputComponent<DocumentReference[]> implements OnInit {
@@ -2685,9 +2858,9 @@ declare class FoehnPictureUploadComponent extends FoehnInputComponent<DocumentRe
2685
2858
  readonly resizeToHeight: _angular_core.InputSignal<number>;
2686
2859
  readonly shouldDisplayFileSavedConfirmation: _angular_core.InputSignal<boolean>;
2687
2860
  readonly acceptFormats = ".jpeg,.jpg,.png";
2688
- pictureToCrop: Event | null;
2689
- croppedPictureAsBlob: Blob | null;
2690
- loading: boolean;
2861
+ readonly pictureToCrop: _angular_core.WritableSignal<Event | null>;
2862
+ readonly croppedPictureAsBlob: _angular_core.WritableSignal<Blob | null>;
2863
+ readonly loading: _angular_core.WritableSignal<boolean>;
2691
2864
  protected currentLanguage: string | undefined;
2692
2865
  private readonly uploadService;
2693
2866
  private readonly dictionaryService;
@@ -2714,6 +2887,7 @@ declare abstract class AbstractUploadProgressService {
2714
2887
  }
2715
2888
 
2716
2889
  declare class AbstractFoehnGlobalUploadProgressBarComponent {
2890
+ #private;
2717
2891
  readonly progressBarPanel: _angular_core.Signal<ElementRef<any> | undefined>;
2718
2892
  showProgress: Observable<boolean>;
2719
2893
  protected uploadProgressService: AbstractUploadProgressService;
@@ -2795,8 +2969,8 @@ declare class PendingPaymentComponent {
2795
2969
  declare class SdkEpaymentComponent implements OnInit {
2796
2970
  readonly baseUrl: _angular_core.InputSignal<string>;
2797
2971
  platformFailureMessageDicoKey: string;
2798
- failureModalDisplayed: boolean;
2799
- redirectModalDisplayed: boolean;
2972
+ readonly failureModalDisplayed: _angular_core.WritableSignal<boolean>;
2973
+ readonly redirectModalDisplayed: _angular_core.WritableSignal<boolean>;
2800
2974
  private readonly ePaymentService;
2801
2975
  private readonly route;
2802
2976
  private readonly gesDemService;
@@ -2834,11 +3008,11 @@ declare class EPaymentService {
2834
3008
  }
2835
3009
 
2836
3010
  declare class FoehnConfirmModalComponent implements OnInit {
2837
- isVisible: boolean;
3011
+ readonly isVisible: _angular_core.WritableSignal<boolean>;
3012
+ readonly content: Observable<FoehnConfirmModalContent | null>;
2838
3013
  private readonly confirmModalService;
2839
3014
  private readonly destroyRef;
2840
3015
  constructor();
2841
- get content(): Observable<FoehnConfirmModalContent | null>;
2842
3016
  ngOnInit(): void;
2843
3017
  cancel(): void;
2844
3018
  ok(): void;
@@ -2853,7 +3027,7 @@ declare class FoehnHelpModalComponent {
2853
3027
  readonly hideable: _angular_core.InputSignal<boolean>;
2854
3028
  readonly modalTrigger: _angular_core.Signal<ElementRef<any> | undefined>;
2855
3029
  readonly content: _angular_core.Signal<ElementRef<any> | undefined>;
2856
- private isVisible;
3030
+ private readonly isVisible;
2857
3031
  get isModalVisible(): boolean;
2858
3032
  get currentModalTitle(): string;
2859
3033
  open(): void;
@@ -2865,37 +3039,13 @@ declare class FoehnHelpModalComponent {
2865
3039
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<FoehnHelpModalComponent, "foehn-help-modal", never, { "modalContent": { "alias": "modalContent"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "hideable": { "alias": "hideable"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
2866
3040
  }
2867
3041
 
2868
- declare class FoehnModalComponent {
2869
- readonly isModalVisible: _angular_core.ModelSignal<boolean>;
2870
- readonly id: _angular_core.InputSignal<string | undefined>;
2871
- readonly modalBodyText: _angular_core.InputSignal<string | undefined>;
2872
- readonly modalHeaderText: _angular_core.InputSignal<string | undefined>;
2873
- readonly closeable: _angular_core.InputSignal<boolean>;
2874
- readonly draggable: _angular_core.InputSignal<boolean>;
2875
- readonly hideable: _angular_core.InputSignal<boolean>;
2876
- readonly modalTriggerHtmlElement: _angular_core.InputSignal<HTMLElement | undefined>;
2877
- readonly name: _angular_core.InputSignal<string | undefined>;
2878
- readonly modalSize: _angular_core.InputSignal<string | undefined>;
2879
- readonly modalBody: _angular_core.Signal<ElementRef<any> | undefined>;
2880
- readonly modalTitle: _angular_core.Signal<ElementRef<any> | undefined>;
2881
- readonly specificfooter: _angular_core.Signal<ElementRef<any> | undefined>;
2882
- readonly modalDefaultCloseBtn: _angular_core.Signal<ElementRef<any> | undefined>;
2883
- private previousIsVisible;
2884
- private readonly visibilityEffect;
2885
- handleKeyboardEvent(event: KeyboardEvent): void;
2886
- private focusOnContainer;
2887
- private focusOnModalTrigger;
2888
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<FoehnModalComponent, never>;
2889
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FoehnModalComponent, "foehn-modal", never, { "isModalVisible": { "alias": "isModalVisible"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "modalBodyText": { "alias": "modalBodyText"; "required": false; "isSignal": true; }; "modalHeaderText": { "alias": "modalHeaderText"; "required": false; "isSignal": true; }; "closeable": { "alias": "closeable"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "hideable": { "alias": "hideable"; "required": false; "isSignal": true; }; "modalTriggerHtmlElement": { "alias": "modalTriggerHtmlElement"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "modalSize": { "alias": "modalSize"; "required": false; "isSignal": true; }; }, { "isModalVisible": "isModalVisibleChange"; }, never, ["*", "[modal-footer]"], true, never>;
2890
- }
2891
-
2892
3042
  declare class FoehnPageModalComponent implements OnInit {
2893
- wrongPublicModalVisible: boolean;
2894
- formattedPublicsCibles: string[];
3043
+ readonly wrongPublicModalVisible: _angular_core.WritableSignal<boolean>;
3044
+ readonly formattedPublicsCibles: _angular_core.WritableSignal<string[]>;
2895
3045
  private readonly sessionInfo;
2896
3046
  private readonly applicationInfoService;
2897
3047
  private readonly foehnPageModalService;
2898
- private userCategories;
3048
+ private readonly userCategories;
2899
3049
  private publicsCibles;
2900
3050
  ngOnInit(): void;
2901
3051
  getFullLoginUrl(): Observable<string>;
@@ -2958,8 +3108,14 @@ declare class CurrencyHelper {
2958
3108
 
2959
3109
  declare class NumberCurrencyFormatterDirective implements OnInit {
2960
3110
  private readonly host;
2961
- private readonly ngZone;
3111
+ private readonly injector;
2962
3112
  private hasFocus;
3113
+ /**
3114
+ * Model value written by the formatting itself: its change must not be
3115
+ * formatted again, the input already displays the formatted value
3116
+ * (e.g. "-.00" for the model ".00").
3117
+ */
3118
+ private modelSetByFormatting;
2963
3119
  private readonly formattingEffect;
2964
3120
  onBlur(event: FocusEvent): void;
2965
3121
  onFocus(event: FocusEvent): void;
@@ -3057,11 +3213,11 @@ declare class GesdemActionRecoveryLoginComponent implements OnInit {
3057
3213
  readonly redirectTarget: _angular_core.InputSignal<string | undefined>;
3058
3214
  readonly loginForm: _angular_core.Signal<FoehnFormComponent>;
3059
3215
  readonly recaptchaComponent: _angular_core.Signal<SdkRecaptchaComponent | undefined>;
3060
- demandeNotFound: boolean;
3061
- rateLimited: boolean;
3062
- rateLimitCounter: number;
3063
- otpRecipient: string | null | undefined;
3064
- otp: string;
3216
+ readonly demandeNotFound: _angular_core.WritableSignal<boolean>;
3217
+ readonly rateLimited: _angular_core.WritableSignal<boolean>;
3218
+ readonly rateLimitCounter: _angular_core.WritableSignal<number>;
3219
+ readonly otpRecipient: _angular_core.WritableSignal<string | null | undefined>;
3220
+ readonly otp: _angular_core.WritableSignal<string>;
3065
3221
  private readonly recoveryService;
3066
3222
  private readonly growlService;
3067
3223
  private readonly confirmModalService;
@@ -3090,8 +3246,8 @@ declare class GesdemActionRecoveryRegistrationComponent implements OnInit {
3090
3246
  readonly triggerOnPageChange: _angular_core.InputSignal<boolean>;
3091
3247
  readonly modalTrigger: _angular_core.Signal<ElementRef<any> | undefined>;
3092
3248
  readonly form: _angular_core.Signal<FoehnFormComponent | undefined>;
3093
- model: InfoReprise | null;
3094
- mailSent: boolean;
3249
+ readonly model: _angular_core.WritableSignal<InfoReprise | null>;
3250
+ readonly mailSent: _angular_core.WritableSignal<boolean>;
3095
3251
  canContinueLater: Observable<boolean> | undefined;
3096
3252
  isConnectedCyber: Observable<boolean> | undefined;
3097
3253
  currentInfoReprise: Observable<InfoReprise | undefined>;
@@ -3110,13 +3266,18 @@ declare class GesdemActionRecoveryRegistrationComponent implements OnInit {
3110
3266
  private readonly eventsLoggerService;
3111
3267
  private readonly dictionaryService;
3112
3268
  private readonly destroyRef;
3113
- private isVisible;
3269
+ private readonly isVisible;
3114
3270
  constructor();
3115
3271
  get isModalVisible(): boolean;
3116
3272
  get reference(): string;
3117
3273
  ngOnInit(): void;
3118
3274
  saveAndOpenModal(): void;
3119
3275
  openModal(isConnectedCyber: boolean): void;
3276
+ /**
3277
+ * Updates the recovery information entered by the user, without mutating the current value.
3278
+ * @param changes values entered by the user
3279
+ */
3280
+ updateModel(changes: Partial<InfoReprise>): void;
3120
3281
  close(): void;
3121
3282
  sendAndClose(): void;
3122
3283
  updateVisibilityStatus(status: boolean): void;
@@ -3154,6 +3315,7 @@ declare class FoehnListItem {
3154
3315
  }
3155
3316
 
3156
3317
  declare abstract class AbstractListDetailPageComponent<FORM_TYPE extends I18nForm, ITEM_TYPE extends FoehnListItem> extends AbstractPageFromMenuComponent<FORM_TYPE> implements OnInit, OnDestroy {
3318
+ #private;
3157
3319
  list: ITEM_TYPE[];
3158
3320
  itemIndex: number | null;
3159
3321
  protected router: Router;
@@ -3178,6 +3340,11 @@ declare abstract class AbstractListDetailPageComponent<FORM_TYPE extends I18nFor
3178
3340
  }
3179
3341
 
3180
3342
  declare abstract class AbstractMenuPageComponent<T extends I18nForm> extends AbstractPageComponent<T> implements AfterViewInit {
3343
+ #private;
3344
+ /**
3345
+ * @deprecated not used anymore by prestations-ng, which does not depend on zone.js.
3346
+ * Inject `NgZone` in your own component if you really need it.
3347
+ */
3181
3348
  protected ngZone: NgZone;
3182
3349
  ngAfterViewInit(): void;
3183
3350
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AbstractMenuPageComponent<any>, never>;
@@ -3195,37 +3362,35 @@ declare class FoehnErrorPillComponent {
3195
3362
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<FoehnErrorPillComponent, "foehn-error-pill", never, { "errorPrefix": { "alias": "errorPrefix"; "required": false; "isSignal": true; }; "incompleteIndicatorOnly": { "alias": "incompleteIndicatorOnly"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
3196
3363
  }
3197
3364
 
3198
- interface FoehnListItemDescription {
3365
+ interface FoehnListItemDescription<T> {
3199
3366
  label: string;
3200
- hideIfEmpty?(item: FoehnListItem): boolean;
3201
- getFormattedValue(item: FoehnListItem): string;
3367
+ hideIfEmpty?(item: T): boolean;
3368
+ getFormattedValue(item: T): string;
3202
3369
  }
3203
3370
 
3204
- declare class FoehnListSummaryComponent extends FoehnInputComponent<FoehnListItem[]> implements AfterViewInit, OnChanges {
3205
- readonly getListItemTitle: _angular_core.InputSignal<((item: FoehnListItem) => string) | undefined>;
3206
- readonly listItemDescriptions: _angular_core.InputSignal<FoehnListItemDescription[]>;
3371
+ declare class FoehnListSummaryComponent<T extends FoehnListItem> extends FoehnInputComponent<T[]> implements OnChanges {
3372
+ readonly getListItemTitle: _angular_core.InputSignal<((item: T) => string | null | undefined) | undefined>;
3373
+ readonly listItemDescriptions: _angular_core.InputSignal<FoehnListItemDescription<T>[]>;
3207
3374
  readonly showAsTable: _angular_core.InputSignal<boolean>;
3208
3375
  readonly tableActionButtons: _angular_core.Signal<TemplateRef<unknown> | undefined>;
3209
3376
  readonly canAddItems: _angular_core.InputSignal<boolean>;
3210
3377
  readonly itemRemoved: _angular_core.OutputEmitterRef<void>;
3211
3378
  readonly itemEdit: _angular_core.OutputEmitterRef<number | null>;
3212
- listCopyForTable: FoehnListItem[] | null | undefined;
3213
- tableConfiguration: FoehnTableColumnConfiguration<FoehnListItem>[];
3379
+ readonly listCopyForTable: _angular_core.WritableSignal<T[] | null | undefined>;
3380
+ readonly tableConfiguration: _angular_core.Signal<FoehnTableColumnConfiguration<T>[]>;
3214
3381
  tableSort: TableSort;
3215
3382
  private readonly confirmModalService;
3216
- private readonly ngZone;
3217
- trackFoehnListItem: TrackByFunction<FoehnListItem>;
3218
- trackFoehnListItemDescription: TrackByFunction<FoehnListItemDescription>;
3383
+ trackFoehnListItem: TrackByFunction<T>;
3384
+ trackFoehnListItemDescription: TrackByFunction<FoehnListItemDescription<T>>;
3219
3385
  ngOnChanges(changes: SimpleChanges): void;
3220
- ngAfterViewInit(): void;
3221
- showLine(item: FoehnListItem, itemParam: FoehnListItemDescription): boolean;
3386
+ showLine(item: T, itemParam: FoehnListItemDescription<T>): boolean;
3222
3387
  editItem(index?: number | null): void;
3223
3388
  removeItem(index: number): void;
3224
3389
  changeSort(sortEvent: TableSort | undefined): void;
3225
3390
  private sortNow;
3226
3391
  private updateListCopyForTable;
3227
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<FoehnListSummaryComponent, never>;
3228
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FoehnListSummaryComponent, "foehn-list-summary", never, { "getListItemTitle": { "alias": "getListItemTitle"; "required": false; "isSignal": true; }; "listItemDescriptions": { "alias": "listItemDescriptions"; "required": false; "isSignal": true; }; "showAsTable": { "alias": "showAsTable"; "required": false; "isSignal": true; }; "canAddItems": { "alias": "canAddItems"; "required": false; "isSignal": true; }; }, { "itemRemoved": "itemRemoved"; "itemEdit": "itemEdit"; }, never, never, true, never>;
3392
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FoehnListSummaryComponent<any>, never>;
3393
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FoehnListSummaryComponent<any>, "foehn-list-summary", never, { "getListItemTitle": { "alias": "getListItemTitle"; "required": false; "isSignal": true; }; "listItemDescriptions": { "alias": "listItemDescriptions"; "required": false; "isSignal": true; }; "showAsTable": { "alias": "showAsTable"; "required": false; "isSignal": true; }; "canAddItems": { "alias": "canAddItems"; "required": false; "isSignal": true; }; }, { "itemRemoved": "itemRemoved"; "itemEdit": "itemEdit"; }, never, never, true, never>;
3229
3394
  }
3230
3395
 
3231
3396
  declare class FoehnMenuItemComponent {
@@ -3338,7 +3503,7 @@ declare class FocusedDay {
3338
3503
  }
3339
3504
 
3340
3505
  declare class FoehnDatePickerComponent implements OnInit {
3341
- hostId: string | null;
3506
+ readonly hostId: _angular_core.WritableSignal<string | null>;
3342
3507
  readonly daysButtonsElemRef: _angular_core.Signal<readonly ElementRef<any>[]>;
3343
3508
  readonly model: _angular_core.ModelSignal<number[] | null>;
3344
3509
  readonly isDatepickerVisible: _angular_core.ModelSignal<boolean>;
@@ -3354,14 +3519,15 @@ declare class FoehnDatePickerComponent implements OnInit {
3354
3519
  readonly minYearComputed: _angular_core.Signal<number>;
3355
3520
  readonly maxYearComputed: _angular_core.Signal<number>;
3356
3521
  readonly yearListItem: _angular_core.Signal<FormSelectOption[]>;
3357
- weekDays: string[];
3358
- weeks: DayMonth[][];
3359
- selectedDate: dayjs.Dayjs | null;
3522
+ readonly weekDays: _angular_core.WritableSignal<string[]>;
3523
+ readonly weeks: _angular_core.WritableSignal<DayMonth[][]>;
3524
+ readonly selectedDate: _angular_core.WritableSignal<dayjs.Dayjs | null>;
3360
3525
  currentMonthYear: Observable<MonthYear | null>;
3361
3526
  model_: number[] | undefined | null;
3362
- monthListItem: FormSelectOption[];
3527
+ readonly monthListItem: _angular_core.WritableSignal<FormSelectOption[]>;
3363
3528
  private readonly dictionary;
3364
- private readonly ngZone;
3529
+ private readonly injector;
3530
+ private readonly pendingTasks;
3365
3531
  private readonly changeDetector;
3366
3532
  private readonly destroyRef;
3367
3533
  private previousIsVisible;
@@ -3423,7 +3589,7 @@ declare class FoehnDatePickerButtonComponent implements OnInit {
3423
3589
  readonly datepickerTrigger: _angular_core.Signal<ElementRef<any> | undefined>;
3424
3590
  readonly userInput: _angular_core.OutputEmitterRef<number[] | null>;
3425
3591
  model_: number[] | null | undefined;
3426
- private isVisible;
3592
+ private readonly isVisible;
3427
3593
  private readonly modelEffect;
3428
3594
  get isDatepickerVisible(): boolean;
3429
3595
  ngOnInit(): void;
@@ -3579,26 +3745,39 @@ declare class SelectedSlot {
3579
3745
  date: number[] | undefined | null;
3580
3746
  }
3581
3747
 
3582
- declare class FoehnAgendaTimeslotPanelComponent extends FoehnInputComponent<SelectedSlot> implements OnChanges {
3748
+ declare class FoehnAgendaTimeslotPanelComponent extends FoehnInputComponent<SelectedSlot> {
3583
3749
  readonly DEFAULT_NB_VISIBLE_ELEMENTS = 22;
3584
3750
  readonly calendar: _angular_core.InputSignal<Observable<Calendar> | undefined>;
3585
3751
  readonly currentWeek: _angular_core.InputSignal<DaySlots | undefined>;
3586
3752
  readonly nbVisibleElements: _angular_core.InputSignal<number | null | undefined>;
3587
3753
  readonly visibleElementsCount: _angular_core.Signal<number>;
3588
3754
  readonly timeSlotButtonsElemRef: _angular_core.Signal<readonly ElementRef<any>[]>;
3589
- selectedTimeSlot: string | null;
3590
- timeSlots: string[];
3591
- isClosed: boolean;
3592
- timeslotRemaining: number;
3593
- timeInputValue: string | undefined | null;
3594
- canClose: boolean;
3755
+ readonly selectedTimeSlot: _angular_core.WritableSignal<string | null>;
3756
+ readonly timeInputValue: _angular_core.WritableSignal<string | null | undefined>;
3757
+ /**
3758
+ * TRUE when only the first visibleElementsCount() time slots are displayed.
3759
+ * Closed again when the time slots change, unless the selected slot would be hidden.
3760
+ */
3761
+ readonly isClosed: _angular_core.WritableSignal<boolean>;
3762
+ readonly timeSlots: _angular_core.Signal<string[]>;
3763
+ readonly timeslotRemaining: _angular_core.Signal<number>;
3764
+ /**
3765
+ * FALSE when closing the panel would hide the selected slot.
3766
+ */
3767
+ readonly canClose: _angular_core.Signal<boolean>;
3595
3768
  private readonly dictionaryService;
3596
- private dayInputValue;
3769
+ private readonly dayInputValue;
3597
3770
  private keyboardNavigationAllowed;
3598
3771
  private currentActiveElement;
3599
- private hasSelectedSlotInPanel;
3600
- constructor();
3601
- ngOnChanges(changes: SimpleChanges): void;
3772
+ /**
3773
+ * Index of the selected slot in the time slots of the day, -1 when it is not in this panel.
3774
+ */
3775
+ private readonly selectedSlotIndex;
3776
+ private readonly hasSelectedSlotInPanel;
3777
+ /**
3778
+ * TRUE when the selected slot is in this panel but not displayed while it is closed.
3779
+ */
3780
+ private readonly isSelectedSlotHidden;
3602
3781
  handleKeyboardDownEvent(event: KeyboardEvent): void;
3603
3782
  focus(): void;
3604
3783
  capitalCaseFirstLetter(s: string | null | undefined): string;
@@ -3606,6 +3785,9 @@ declare class FoehnAgendaTimeslotPanelComponent extends FoehnInputComponent<Sele
3606
3785
  togglePanel(): void;
3607
3786
  onModelChange(value: SelectedSlot | null): void;
3608
3787
  getTimeInputValue(s: string): string;
3788
+ /**
3789
+ * Opens the panel when the selected slot would be hidden.
3790
+ */
3609
3791
  searchTimeValueInTimeSlot(): void;
3610
3792
  onTimeFocusin(): void;
3611
3793
  onTimeFocusout(): void;
@@ -3613,7 +3795,6 @@ declare class FoehnAgendaTimeslotPanelComponent extends FoehnInputComponent<Sele
3613
3795
  getButtonTimeSlotAriaLabel(day: string | undefined | null, timeSlot: string): string;
3614
3796
  getTimeSlotTabIndex(timeSlot: string, index: number): number;
3615
3797
  cleanIdForQuerySelector(s: string): string;
3616
- private sliceNbVisibleElements;
3617
3798
  private getValidValue;
3618
3799
  private onKeyDownInner;
3619
3800
  private focusTimeSlot;
@@ -3627,7 +3808,7 @@ declare class FoehnAgendaComponent extends FoehnInputComponent<SelectedSlot> {
3627
3808
  readonly paginationChange: _angular_core.OutputEmitterRef<PaginationWeek>;
3628
3809
  readonly readableSelectedTimeSlot: _angular_core.Signal<string>;
3629
3810
  readonly timeSlotPanelsElemRef: _angular_core.Signal<readonly FoehnAgendaTimeslotPanelComponent[]>;
3630
- srAnnouncements: string;
3811
+ readonly srAnnouncements: _angular_core.WritableSignal<string>;
3631
3812
  private readonly dictionaryService;
3632
3813
  private srAnnouncementClearTimer;
3633
3814
  private readonly SR_ANNOUNCEMENT_CLEAR_TIMEOUT_INTERVAL_MS;
@@ -3672,14 +3853,14 @@ declare class FoehnDropdownMenuComponent implements OnInit {
3672
3853
  readonly selectedFocusList: _angular_core.Signal<readonly ElementRef<any>[]>;
3673
3854
  readonly buttonTrigger: _angular_core.Signal<ElementRef<any> | undefined>;
3674
3855
  readonly entryPoint: _angular_core.Signal<ElementRef<any> | undefined>;
3675
- isDropdownVisible: boolean;
3856
+ readonly isDropdownVisible: _angular_core.WritableSignal<boolean>;
3676
3857
  closeDropdownTimer: ReturnType<typeof setTimeout> | undefined;
3677
- popupPosition: Position;
3858
+ readonly popupPosition: _angular_core.WritableSignal<Position>;
3678
3859
  private readonly router;
3860
+ private readonly injector;
3679
3861
  private currentItemGlobalIndex;
3680
3862
  private shouldFocusEntryPointAfterOpen;
3681
3863
  private readonly selectedFocusListEffect;
3682
- constructor();
3683
3864
  handleKeyboardUpEvent(event: KeyboardEvent): void;
3684
3865
  handleKeyboardDownEvent(event: KeyboardEvent): void;
3685
3866
  ngOnInit(): void;
@@ -3752,6 +3933,7 @@ interface BrowserInfo {
3752
3933
  }
3753
3934
  declare class SdkLogsService {
3754
3935
  private readonly http;
3936
+ private readonly destroyRef;
3755
3937
  private cachedBrowserInfo;
3756
3938
  addLog(message: string, logLevel: SdkLogLevel): void;
3757
3939
  addLogWithError(message: string, logLevel: SdkLogLevel, error: unknown): void;
@@ -3761,5 +3943,5 @@ declare class SdkLogsService {
3761
3943
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<SdkLogsService>;
3762
3944
  }
3763
3945
 
3764
- 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, 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, FoehnAgendaComponent, FoehnAgendaNavigationComponent, FoehnAgendaTimeslotPanelComponent, FoehnAutocompleteComponent, FoehnBoMultiUploadComponent, FoehnBooleanCheckboxComponent, FoehnBooleanRadioComponent, FoehnBreadcrumbComponent, FoehnCheckableGroupComponent, FoehnCheckboxComponent, FoehnConfirmModalComponent, FoehnConfirmModalContent, FoehnConfirmModalService, FoehnDateComponent, FoehnDatePickerButtonComponent, FoehnDatePickerComponent, FoehnDateTimeComponent, FoehnDecisionElectroniqueComponent, FoehnDisplayAddressComponent, FoehnDropdownMenuComponent, FoehnErrorPillComponent, FoehnFeedbackNotificationComponent, FoehnFormComponent, FoehnGlobalUploadProgressBarComponent, FoehnHeaderComponent, FoehnHelpModalComponent, FoehnIconCalendarComponent, FoehnIconCheckComponent, FoehnIconCheckSquareOComponent, FoehnIconChevronDownComponent, FoehnIconChevronLeftComponent, FoehnIconChevronRightComponent, FoehnIconChevronUpComponent, FoehnIconClockComponent, FoehnIconCommentDotsComponent, FoehnIconEditComponent, FoehnIconExternalLinkAltComponent, FoehnIconFilePdfComponent, FoehnIconInfoCircleComponent, FoehnIconLockComponent, FoehnIconMapMarkerComponent, FoehnIconMinusCircleComponent, FoehnIconPencilComponent, FoehnIconPlusCircleComponent, FoehnIconPlusSquareComponent, FoehnIconSearchComponent, FoehnIconTimesComponent, FoehnIconTrashAltComponent, FoehnIconUnlockAltComponent, FoehnIconUserComponent, FoehnInputAddressComponent, FoehnInputComponent, FoehnInputEmailComponent, FoehnInputForeignLocalityComponent, FoehnInputForeignStreetComponent, FoehnInputHiddenComponent, FoehnInputNav13Component, FoehnInputNumberComponent, FoehnInputPasswordComponent, FoehnInputPhoneComponent, FoehnInputPrefixedTextComponent, FoehnInputStringComponent, FoehnInputTextComponent, FoehnInputTextareaComponent, FoehnListComponent, FoehnListItem, FoehnListSummaryComponent, FoehnMenuItemComponent, FoehnMenuItemTransmitComponent, FoehnModalComponent, FoehnMultiUploadComponent, FoehnMultiselectAutocompleteComponent, FoehnNavigationComponent, FoehnNavigationService, FoehnNotfoundComponent, FoehnPageComponent, FoehnPageCounterComponent, FoehnPageExpirationTimerComponent, FoehnPageModalComponent, FoehnPageService, FoehnPictureUploadComponent, FoehnRadioComponent, FoehnRecapSectionComponent, FoehnRemainingAlertsSummaryComponent, FoehnSelectComponent, FoehnSimpleNavigationComponent, FoehnSkipLinkComponent, FoehnStatusProgressBarComponent, FoehnTableColumnConfiguration, FoehnTableComponent, FoehnTablePageChangeEvent, FoehnTimeComponent, FoehnTransmitWaitingModalComponent, FoehnTransmitWaitingModalService, FoehnUploadProgressBarComponent, FoehnUserConnectedAsComponent, FoehnValidationAlertSummaryComponent, FoehnValidationAlertsComponent, FooterLink, FormMetadata, FormPostResponse, FormSelectOption, FormatAvsPipe, FormatIdePipe, GESDEM_MAX_DATA_LENGTH, GesdemActionRecoveryLoginComponent, GesdemActionRecoveryRegistrationComponent, GesdemConfirmationComponent, GesdemErrorComponent, 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, LineBreakAsHtmlPipe, Locality, MonthYear, MultiUploadService, Municipality, NDCFormatterDirective, NEVER_CONNECTED, NavigationDirection, NumberCurrencyFormatterDirective, OIDC_ENABLED, ObjectHelper, PORTAIL_BASE_URL_INT, PORTAIL_BASE_URL_PROD, PORTAIL_BASE_URL_VAL, PageChangeEvent, PageUploadLimitService, PaginationWeek, PendingFiles, PendingPaymentComponent, PendingUploadService, PlaceOfOrigin, Portail, PostalLocality, Preferences, RECAPTCHA_API_URL, RecaptchaService, RedirectComponent, RegisterNgModelService, RowElement, SESSION_INFO_API_URL, SWISS_ISO_ID, ScrollHelper, SdkDictionaryPipe, SdkDictionaryService, SdkEpaymentComponent, SdkEvent, SdkEventType, SdkEventsLoggerService, SdkLog, SdkLogLevel, SdkLogsService, SdkRecaptchaComponent, SdkStatisticsService, SelectedSlot, Session, SessionInfo, SessionInfoData, SessionInfoWithApplicationService, Street, StreetNumber, StringHelper, THOUSANDS_SEPARATOR, TRANSMIT_WAITING_MODAL_DELAY_IN_MILLISECONDS, TableSort, UploadProgress, UploadProgressService, UploaderHelper, ValidationHandlerService, formatDecimalCurrency, formatNonDecimalCurrency, formatNumberAsGiven, gesdemLoaderGuard, providePrestationsNgCore, replaceAll };
3765
- export type { BreadcrumbConfiguration, BrowserInfo, ComponentError, DictionaryType, FoehnListItemDescription, FoehnRecapSection, FoehnRecapSectionElement, FoehnRecapSectionElementValueType, FormError, HasCustomErrors, HelpModal, Image, Language, PlaceholderType };
3946
+ 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, 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, FoehnAgendaComponent, FoehnAgendaNavigationComponent, FoehnAgendaTimeslotPanelComponent, FoehnAutocompleteComponent, FoehnBoMultiUploadComponent, FoehnBooleanCheckboxComponent, FoehnBooleanRadioComponent, FoehnBreadcrumbComponent, FoehnCheckableGroupComponent, FoehnCheckboxComponent, FoehnConfirmModalComponent, FoehnConfirmModalContent, FoehnConfirmModalService, FoehnDateComponent, FoehnDatePickerButtonComponent, FoehnDatePickerComponent, FoehnDateTimeComponent, FoehnDecisionElectroniqueComponent, FoehnDisplayAddressComponent, FoehnDropdownMenuComponent, FoehnErrorPillComponent, FoehnFeedbackNotificationComponent, FoehnFormComponent, FoehnGlobalUploadProgressBarComponent, FoehnHeaderComponent, FoehnHelpModalComponent, FoehnIconCalendarComponent, FoehnIconCheckComponent, FoehnIconCheckSquareOComponent, FoehnIconChevronDownComponent, FoehnIconChevronLeftComponent, FoehnIconChevronRightComponent, FoehnIconChevronUpComponent, FoehnIconClockComponent, FoehnIconCommentDotsComponent, FoehnIconEditComponent, FoehnIconExternalLinkAltComponent, FoehnIconFilePdfComponent, FoehnIconInfoCircleComponent, FoehnIconLockComponent, FoehnIconMapMarkerComponent, FoehnIconMinusCircleComponent, FoehnIconPencilComponent, FoehnIconPlusCircleComponent, FoehnIconPlusSquareComponent, FoehnIconSearchComponent, FoehnIconTimesComponent, FoehnIconTrashAltComponent, FoehnIconUnlockAltComponent, FoehnIconUserComponent, FoehnInputAddressComponent, FoehnInputComponent, FoehnInputEmailComponent, FoehnInputForeignLocalityComponent, FoehnInputForeignStreetComponent, FoehnInputHiddenComponent, FoehnInputNav13Component, FoehnInputNumberComponent, FoehnInputPasswordComponent, FoehnInputPhoneComponent, FoehnInputPrefixedTextComponent, FoehnInputStringComponent, FoehnInputTextComponent, FoehnInputTextareaComponent, FoehnListComponent, FoehnListItem, FoehnListSummaryComponent, FoehnMenuItemComponent, FoehnMenuItemTransmitComponent, FoehnModalComponent, FoehnMultiUploadComponent, FoehnMultiselectAutocompleteComponent, FoehnNavigationComponent, FoehnNavigationService, FoehnNotfoundComponent, FoehnPageComponent, FoehnPageCounterComponent, FoehnPageExpirationTimerComponent, FoehnPageModalComponent, FoehnPageService, FoehnPictureUploadComponent, FoehnRadioComponent, FoehnRecapSectionComponent, FoehnRemainingAlertsSummaryComponent, FoehnSelectComponent, FoehnSimpleNavigationComponent, FoehnSkipLinkComponent, FoehnStatusProgressBarComponent, FoehnTableColumnConfiguration, FoehnTableComponent, FoehnTablePageChangeEvent, FoehnTimeComponent, FoehnTransmitWaitingModalComponent, FoehnTransmitWaitingModalService, FoehnUploadProgressBarComponent, FoehnUserConnectedAsComponent, FoehnValidationAlertSummaryComponent, FoehnValidationAlertsComponent, FooterLink, FormMetadata, FormPostResponse, FormSelectOption, FormatAvsPipe, FormatIdePipe, GESDEM_MAX_DATA_LENGTH, GesdemActionRecoveryLoginComponent, GesdemActionRecoveryRegistrationComponent, GesdemConfirmationComponent, GesdemErrorComponent, 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, LineBreakAsHtmlPipe, Locality, MonthYear, MultiUploadService, Municipality, NDCFormatterDirective, NEVER_CONNECTED, NavigationDirection, NumberCurrencyFormatterDirective, OIDC_ENABLED, ObjectHelper, PORTAIL_BASE_URL_INT, PORTAIL_BASE_URL_PROD, PORTAIL_BASE_URL_VAL, PageChangeEvent, PageUploadLimitService, PaginationWeek, PendingFiles, PendingPaymentComponent, PendingUploadService, PlaceOfOrigin, Portail, PostalLocality, Preferences, RECAPTCHA_API_URL, RecaptchaService, RedirectComponent, RegisterNgModelService, RowElement, SESSION_INFO_API_URL, SWISS_ISO_ID, ScrollHelper, SdkDictionaryPipe, SdkDictionaryService, SdkEpaymentComponent, SdkEvent, SdkEventType, SdkEventsLoggerService, SdkLog, SdkLogLevel, SdkLogsService, SdkRecaptchaComponent, SdkStatisticsService, SelectedSlot, Session, SessionInfo, SessionInfoData, SessionInfoWithApplicationService, Street, StreetNumber, StringHelper, THOUSANDS_SEPARATOR, TRANSMIT_WAITING_MODAL_DELAY_IN_MILLISECONDS, TableSort, UploadProgress, UploadProgressService, UploaderHelper, ValidationHandlerService, formatDecimalCurrency, formatNonDecimalCurrency, formatNumberAsGiven, gesdemLoaderGuard, getSafeFileNameForErrorMessage, providePrestationsNgCore, replaceAll, splitDocumentChanges };
3947
+ export type { BreadcrumbConfiguration, BrowserInfo, ComponentError, DictionaryType, DocumentChanges, FoehnListItemDescription, FoehnModalSize, FoehnRecapSection, FoehnRecapSectionElement, FoehnRecapSectionElementValueType, FormError, HasCustomErrors, HelpModal, Image, Language, PlaceholderType, UploaderErrorLimits };