@acorex/platform 21.0.0-next.71 → 21.0.0-next.72

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/fesm2022/acorex-platform-auth.mjs +10 -2
  2. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  3. package/fesm2022/{acorex-platform-common-common-settings.provider-Bi1RYif5.mjs → acorex-platform-common-common-settings.provider-Ytey9uhY.mjs} +15 -1
  4. package/fesm2022/acorex-platform-common-common-settings.provider-Ytey9uhY.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-common.mjs +3792 -1679
  6. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-core.mjs +1112 -103
  8. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-layout-builder.mjs +53 -170
  10. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-layout-components.mjs +70 -46
  12. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-designer.mjs +199 -126
  14. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  15. package/fesm2022/{acorex-platform-layout-entity-attachments-page.component-D8iQnT-R.mjs → acorex-platform-layout-entity-attachments-page.component-B0EkdqvH.mjs} +6 -1
  16. package/fesm2022/acorex-platform-layout-entity-attachments-page.component-B0EkdqvH.mjs.map +1 -0
  17. package/fesm2022/acorex-platform-layout-entity.mjs +341 -418
  18. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-layout-views.mjs +675 -301
  20. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-layout-widget-core.mjs +115 -74
  22. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  23. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-BcpRkpJp.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-DjpZU6gz.mjs} +2 -2
  24. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-BcpRkpJp.mjs.map → acorex-platform-layout-widgets-tabular-data-edit-popup.component-DjpZU6gz.mjs.map} +1 -1
  25. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-DQtK4lxl.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-gX-3Kx9I.mjs} +2 -2
  26. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-DQtK4lxl.mjs.map → acorex-platform-layout-widgets-tabular-data-view-popup.component-gX-3Kx9I.mjs.map} +1 -1
  27. package/fesm2022/acorex-platform-layout-widgets.mjs +184 -655
  28. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  29. package/fesm2022/acorex-platform-themes-default-error-401.component-B1nsdpTY.mjs +48 -0
  30. package/fesm2022/acorex-platform-themes-default-error-401.component-B1nsdpTY.mjs.map +1 -0
  31. package/fesm2022/acorex-platform-themes-default-error-404.component-D4UvRe8u.mjs +42 -0
  32. package/fesm2022/acorex-platform-themes-default-error-404.component-D4UvRe8u.mjs.map +1 -0
  33. package/fesm2022/acorex-platform-themes-default.mjs +76 -32
  34. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  35. package/package.json +1 -1
  36. package/types/acorex-platform-auth.d.ts +2 -0
  37. package/types/acorex-platform-common.d.ts +891 -259
  38. package/types/acorex-platform-core.d.ts +284 -40
  39. package/types/acorex-platform-layout-builder.d.ts +10 -22
  40. package/types/acorex-platform-layout-components.d.ts +9 -7
  41. package/types/acorex-platform-layout-entity.d.ts +37 -41
  42. package/types/acorex-platform-layout-views.d.ts +125 -67
  43. package/types/acorex-platform-layout-widget-core.d.ts +53 -61
  44. package/types/acorex-platform-layout-widgets.d.ts +33 -20
  45. package/types/acorex-platform-themes-default.d.ts +14 -4
  46. package/fesm2022/acorex-platform-common-common-settings.provider-Bi1RYif5.mjs.map +0 -1
  47. package/fesm2022/acorex-platform-layout-entity-attachments-page.component-D8iQnT-R.mjs.map +0 -1
  48. package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs +0 -31
  49. package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs.map +0 -1
  50. package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs +0 -25
  51. package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs.map +0 -1
@@ -1,22 +1,23 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, EnvironmentProviders, Injector, ErrorHandler, ModuleWithProviders, EventEmitter, ElementRef, Renderer2, NgZone, ChangeDetectorRef } from '@angular/core';
2
+ import { InjectionToken, EnvironmentProviders, Signal, Injector, ErrorHandler, ModuleWithProviders, EventEmitter, ElementRef, Renderer2, NgZone, ChangeDetectorRef } from '@angular/core';
3
3
  import { AXDataSourceOperator, AXStyleColorType, AXDataSourceFilterOption } from '@acorex/cdk/common';
4
- import * as i2 from '@acorex/components/popup';
4
+ import * as i3 from '@acorex/components/popup';
5
5
  import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
6
- import * as i5 from '@acorex/platform/core';
7
- import { AXPValueTransformerFunctions, AXPMultiLanguageString, AXPOptionsData, AXPExpression, AXPFilterDefinition, AXPMetaData, AXPSystemActionType, AXPValidationRules, AXPGridLayoutOptions, AXPLogoConfig, AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviderContext, AXPFileListItem, AXPDataSourceDefinitionProvider, AXPDataSourceDefinition, AXPNavigateActionCommand, AXPExecuteCommand, AXPApplicationUserReference, AXPEntityReference, AXPPlatformScopeKey, AXPWidgetTriggers, AXPPlatformScope } from '@acorex/platform/core';
6
+ import * as i1 from '@acorex/platform/core';
7
+ import { AXPValueTransformerFunctions, AXPMultiLanguageString, AXPOptionsData, AXPExpression, AXPFilterDefinition, AXPMetaData, AXPSystemActionType, AXPValidationRules, AXPGridLayoutOptions, AXPUserReference, AXPExecuteCommand, AXPKeyboardShortcutHelpEntry, AXPLogoConfig, AXPFileListItem, AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviderContext, AXPDataSourceDefinitionProvider, AXPDataSourceDefinition, AXPNavigateActionCommand, AXPKeyboardShortcut, AXPExpressionEvaluatorScope, AXPExpressionEvaluatorService, AXPApplicationUserReference, AXPEntityReference, AXPPlatformScopeKey, AXPWidgetTriggers, AXPPlatformScope } from '@acorex/platform/core';
8
8
  import { AXPWidgetTypesMap, AXPMetaDataDefinition, AXPWidgetNode, AXPWidgetProperty } from '@acorex/platform/layout/widget-core';
9
- import * as i3 from '@acorex/core/date-time';
9
+ import * as i4 from '@acorex/core/date-time';
10
10
  import { AXCalendarService } from '@acorex/core/date-time';
11
- import * as i6 from '@angular/router';
12
- import { Route, Routes } from '@angular/router';
13
- import * as i1 from '@acorex/platform/workflow';
11
+ import * as _angular_router from '@angular/router';
12
+ import { Route, Routes, UrlTree, Router, RedirectCommand, ActivatedRouteSnapshot, CanActivateFn, CanDeactivateFn, NavigationExtras } from '@angular/router';
13
+ import * as i2 from '@acorex/platform/workflow';
14
14
  import { AXPWorkflowAction, AXPWorkflowContext, AXPWorkflow } from '@acorex/platform/workflow';
15
- import * as i4 from '@acorex/components/toast';
15
+ import * as i5 from '@acorex/components/toast';
16
16
  import * as rxjs from 'rxjs';
17
17
  import { Subject } from 'rxjs';
18
18
  import * as _ngrx_signals from '@ngrx/signals';
19
19
  import { AXTranslationService } from '@acorex/core/translation';
20
+ import { AXFormatService } from '@acorex/core/format';
20
21
  import { AXLocaleProfile } from '@acorex/core/locale';
21
22
 
22
23
  /** JSON data primitive for the specialist final deliverable. */
@@ -350,6 +351,11 @@ interface AXPCommandActionDisplay extends Partial<AXPCommandActionLook> {
350
351
  disabled?: boolean | string;
351
352
  default?: boolean;
352
353
  order?: number;
354
+ /**
355
+ * Keyboard chords for this action (e.g. `'ctrl+shift+a'`).
356
+ * Pass `[]` to disable shortcuts. When omitted, platform defaults may apply for known commands.
357
+ */
358
+ shortcuts?: string[];
353
359
  }
354
360
  interface AXPEntityAction extends AXPCommandActionDisplay {
355
361
  scope: AXPEntityCommandScope;
@@ -794,6 +800,10 @@ declare class AXPHomePageService {
794
800
  private buildFullPaths;
795
801
  private refreshRoutes;
796
802
  private applyMergedConfig;
803
+ /**
804
+ * Resolves the current user's home page as a router URL tree.
805
+ */
806
+ resolveHomeUrlTree(): UrlTree;
797
807
  navigateTo(): Promise<void>;
798
808
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPHomePageService, never>;
799
809
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPHomePageService>;
@@ -805,6 +815,305 @@ declare class AXPHomePageModule {
805
815
  static ɵinj: i0.ɵɵInjectorDeclaration<AXPHomePageModule>;
806
816
  }
807
817
 
818
+ type AXPInAppNotificationPriority = 'Notice' | 'Danger' | 'Warning';
819
+ interface AXPInAppNotificationCreateRequest {
820
+ id: string;
821
+ name: string;
822
+ title: string;
823
+ body: string;
824
+ icon: string;
825
+ priority: AXPInAppNotificationPriority;
826
+ receiver: AXPUserReference;
827
+ data?: Record<string, unknown>;
828
+ }
829
+ /**
830
+ * Persists in-app notifications. Notification-management registers an implementation
831
+ * backed by {@link AXMNotificationEntityService}.
832
+ */
833
+ interface AXPInAppNotificationService {
834
+ create(request: AXPInAppNotificationCreateRequest): Promise<void>;
835
+ }
836
+ declare const AXP_IN_APP_NOTIFICATION_SERVICE: InjectionToken<AXPInAppNotificationService>;
837
+
838
+ type AXPBackgroundOperationStatus = 'queued' | 'running' | 'paused' | 'completed' | 'failed' | 'cancelled';
839
+ interface AXPBackgroundOperationCapabilities {
840
+ cancellable: boolean;
841
+ pausable: boolean;
842
+ resumable: boolean;
843
+ retryable: boolean;
844
+ /** When true, UI shows a progress bar only while {@link AXPBackgroundOperation.progress} is set. */
845
+ supportsProgress: boolean;
846
+ /** When true, UI may show ETA while {@link AXPBackgroundOperation.estimatedDurationMs} is set. */
847
+ supportsEstimate: boolean;
848
+ /** When true, the tray item is clickable and delegates to a registered handler. */
849
+ clickable: boolean;
850
+ /** When false, skip in-app notification on completed/cancelled. Default: true. */
851
+ notifyOnComplete?: boolean;
852
+ /** When false, skip in-app notification on failed. Default: true. */
853
+ notifyOnFailed?: boolean;
854
+ }
855
+ type AXPBackgroundOperationFailureMode = 'retry' | 'continue' | 'abort';
856
+ interface AXPBackgroundOperationFailurePolicy {
857
+ mode: AXPBackgroundOperationFailureMode;
858
+ currentStepId?: string;
859
+ maxRetries?: number;
860
+ retryCount?: number;
861
+ }
862
+ interface AXPBackgroundOperationError {
863
+ code?: string;
864
+ message: string;
865
+ detail?: string;
866
+ }
867
+ interface AXPBackgroundOperation {
868
+ id: string;
869
+ providerKey: string;
870
+ title: string;
871
+ status: AXPBackgroundOperationStatus;
872
+ progress?: number;
873
+ estimatedDurationMs?: number;
874
+ statusText?: string;
875
+ currentStep?: string;
876
+ createdAt: Date;
877
+ startedAt?: Date;
878
+ completedAt?: Date;
879
+ capabilities: AXPBackgroundOperationCapabilities;
880
+ failurePolicy: AXPBackgroundOperationFailurePolicy;
881
+ error?: AXPBackgroundOperationError;
882
+ /** Handler-specific payload (e.g. conversationId for chat navigation). */
883
+ data?: Record<string, unknown>;
884
+ }
885
+ interface AXPBackgroundOperationCreateRequest {
886
+ title: string;
887
+ progress?: number;
888
+ estimatedDurationMs?: number;
889
+ statusText?: string;
890
+ currentStep?: string;
891
+ capabilities: AXPBackgroundOperationCapabilities;
892
+ failurePolicy: AXPBackgroundOperationFailurePolicy;
893
+ }
894
+ type AXPBackgroundOperationActionKey = 'cancel' | 'pause' | 'resume' | 'retry' | 'dismiss';
895
+
896
+ /**
897
+ * Sends in-app notifications when a background operation finishes or fails.
898
+ */
899
+ declare class AXPBackgroundOperationNotificationService {
900
+ private readonly inAppNotificationService;
901
+ private readonly sessionService;
902
+ notify(operation: AXPBackgroundOperation): Promise<void>;
903
+ private shouldNotify;
904
+ private resolveBody;
905
+ private resolveTemplate;
906
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPBackgroundOperationNotificationService, never>;
907
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPBackgroundOperationNotificationService>;
908
+ }
909
+
910
+ /**
911
+ * Sends notifications and removes tray rows when a background operation reaches a terminal state.
912
+ */
913
+ declare class AXPBackgroundOperationCompletionService {
914
+ private readonly notificationService;
915
+ /** Whether the operation just reached a finished state (completed or cancelled). */
916
+ shouldAutoFinish(previousStatus: string | undefined, operation: AXPBackgroundOperation): boolean;
917
+ /** Whether the operation just transitioned to failed. */
918
+ shouldNotifyFailure(previousStatus: string | undefined, operation: AXPBackgroundOperation): boolean;
919
+ /** Notifies the user and invokes {@link remove} to drop the operation from the tray. */
920
+ notifyAndRemove(operation: AXPBackgroundOperation, remove: () => void): Promise<void>;
921
+ /** Notifies the user while keeping the failed operation in the tray for retry. */
922
+ notifyFailure(operation: AXPBackgroundOperation): Promise<void>;
923
+ private notify;
924
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPBackgroundOperationCompletionService, never>;
925
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPBackgroundOperationCompletionService>;
926
+ }
927
+
928
+ declare const AXPBackgroundOperationRootConfig: {
929
+ readonly module: {
930
+ readonly name: "Common";
931
+ readonly title: "@general:module.common.title";
932
+ readonly icon: "fa-light fa-layer-group";
933
+ };
934
+ readonly entities: {
935
+ readonly backgroundOperation: {
936
+ readonly name: "BackgroundOperations";
937
+ readonly title: "@general:background-operation.entity.title";
938
+ readonly titlePlural: "@general:background-operation.entity.plural";
939
+ readonly icon: "fa-light fa-spinner";
940
+ };
941
+ };
942
+ };
943
+ /** Full entity key used with {@link AXPEntityStorageService} (e.g. `Common.BackgroundOperations`). */
944
+ declare function axpBackgroundOperationEntityName(): string;
945
+
946
+ /** Persisted row shape for {@link axpBackgroundOperationEntityName}. */
947
+ interface AXPBackgroundOperationEntityModel {
948
+ id: string;
949
+ providerKey: string;
950
+ title: string;
951
+ status: AXPBackgroundOperationStatus;
952
+ progress?: number;
953
+ estimatedDurationMs?: number;
954
+ statusText?: string;
955
+ currentStep?: string;
956
+ createdAt: string;
957
+ startedAt?: string;
958
+ completedAt?: string;
959
+ capabilities: AXPBackgroundOperationCapabilities;
960
+ failurePolicy: AXPBackgroundOperationFailurePolicy;
961
+ error?: AXPBackgroundOperationError;
962
+ data?: Record<string, unknown>;
963
+ }
964
+
965
+ /**
966
+ * Optional persistence adapter for background-operation entity rows.
967
+ * Mock connectivity registers an implementation backed by {@link AXPEntityStorageService}.
968
+ */
969
+ interface AXPBackgroundOperationEntityStorageAdapter {
970
+ getAll(entityName: string): Promise<AXPBackgroundOperationEntityModel[]>;
971
+ upsertOne(entityName: string, row: AXPBackgroundOperationEntityModel): Promise<void>;
972
+ deleteOne(entityName: string, id: string): Promise<void>;
973
+ }
974
+ declare const AXP_BACKGROUND_OPERATION_ENTITY_STORAGE: InjectionToken<AXPBackgroundOperationEntityStorageAdapter>;
975
+
976
+ declare function axpBackgroundOperationToEntityModel(operation: AXPBackgroundOperation): AXPBackgroundOperationEntityModel;
977
+ declare function axpBackgroundOperationFromEntityModel(model: AXPBackgroundOperationEntityModel): AXPBackgroundOperation;
978
+
979
+ interface AXPBackgroundOperationProviderStore {
980
+ readonly operations: Signal<readonly AXPBackgroundOperation[]>;
981
+ upsert(operation: AXPBackgroundOperation): void;
982
+ patch(operationId: string, patch: Partial<AXPBackgroundOperation>): void;
983
+ find(operationId: string): AXPBackgroundOperation | undefined;
984
+ remove(id: string): void;
985
+ }
986
+ /**
987
+ * Entity-backed store for background operations (`Common.BackgroundOperations`).
988
+ * Uses in-memory signals for UI reactivity and optionally persists via {@link AXP_BACKGROUND_OPERATION_ENTITY_STORAGE}.
989
+ */
990
+ declare class AXPBackgroundOperationEntityStoreService {
991
+ private readonly entityStorage;
992
+ private readonly completionService;
993
+ private readonly entityName;
994
+ private hydrated;
995
+ private hydratePromise?;
996
+ private readonly innerStores;
997
+ ensureHydrated(): Promise<void>;
998
+ hasAnyOperationForProviders(providerKeys: readonly string[]): Promise<boolean>;
999
+ createProviderStore(providerKey: string): AXPBackgroundOperationProviderStore;
1000
+ /** All operations across providers (post-hydration). */
1001
+ readonly allOperations: Signal<AXPBackgroundOperation[]>;
1002
+ private hydrateFromEntityStorage;
1003
+ private persistOperation;
1004
+ private deleteOperation;
1005
+ private getOrCreateInnerStore;
1006
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPBackgroundOperationEntityStoreService, never>;
1007
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPBackgroundOperationEntityStoreService>;
1008
+ }
1009
+
1010
+ /**
1011
+ * Storage-only entity for background-operation tray rows (`Common.BackgroundOperations`).
1012
+ * No master UI — persisted through {@link AXPEntityStorageService}.
1013
+ */
1014
+ declare function backgroundOperationEntityFactory(): Promise<AXPEntity | null>;
1015
+
1016
+ declare const AXP_BACKGROUND_OPERATION_HANDLERS: InjectionToken<AXPBackgroundOperationHandler[]>;
1017
+ /**
1018
+ * Handles user interactions for background operations (e.g. navigate on click).
1019
+ * Register one handler per {@link AXPBackgroundOperation.providerKey}.
1020
+ */
1021
+ declare abstract class AXPBackgroundOperationHandler {
1022
+ abstract readonly providerKey: string;
1023
+ abstract execute(command: AXPExecuteCommand, operation: AXPBackgroundOperation): Promise<void>;
1024
+ }
1025
+
1026
+ declare const AXP_BACKGROUND_OPERATION_PROVIDERS: InjectionToken<AXPBackgroundOperationProvider[]>;
1027
+ /**
1028
+ * Registers a source of background operations (multi-provider).
1029
+ * Each feature module or mock can contribute one provider per domain key.
1030
+ */
1031
+ declare abstract class AXPBackgroundOperationProvider {
1032
+ abstract readonly key: string;
1033
+ abstract readonly operations: Signal<readonly AXPBackgroundOperation[]>;
1034
+ abstract create(request: AXPBackgroundOperationCreateRequest): Promise<AXPBackgroundOperation>;
1035
+ abstract cancel(operationId: string): Promise<void>;
1036
+ /** Optional — only when {@link AXPBackgroundOperationCapabilities.pausable} is true. */
1037
+ pause?(operationId: string): Promise<void>;
1038
+ /** Optional — only when {@link AXPBackgroundOperationCapabilities.resumable} is true. */
1039
+ resume?(operationId: string): Promise<void>;
1040
+ /** Optional — only when {@link AXPBackgroundOperationCapabilities.retryable} is true. */
1041
+ retry?(operationId: string): Promise<void>;
1042
+ /** Optional — removes completed/failed operations from the tray. */
1043
+ dismiss?(operationId: string): Promise<void>;
1044
+ }
1045
+
1046
+ /**
1047
+ * Lightweight in-memory store for a single background-operation provider.
1048
+ */
1049
+ declare function createBackgroundOperationStore(): {
1050
+ readonly operations: Signal<readonly AXPBackgroundOperation[]>;
1051
+ upsert(operation: AXPBackgroundOperation): void;
1052
+ patch(id: string, patch: Partial<AXPBackgroundOperation>): void;
1053
+ find(id: string): AXPBackgroundOperation | undefined;
1054
+ remove(id: string): void;
1055
+ };
1056
+
1057
+ declare function axpCreateBackgroundOperationId(): string;
1058
+ declare function axpBuildBackgroundOperation(providerKey: string, request: AXPBackgroundOperationCreateRequest, overrides?: Partial<AXPBackgroundOperation>): AXPBackgroundOperation;
1059
+ declare function axpCoerceBackgroundOperationDate(value: Date | string | undefined): Date | null;
1060
+ declare function axpBackgroundOperationDisplayTime(operation: AXPBackgroundOperation): Date | null;
1061
+ /**
1062
+ * Remaining duration in milliseconds for ETA display.
1063
+ */
1064
+ declare function axpBackgroundOperationRemainingMs(operation: AXPBackgroundOperation): number | null;
1065
+ /**
1066
+ * Estimated completion instant for relative-time formatting (e.g. timeleft pipe).
1067
+ */
1068
+ declare function axpBackgroundOperationEstimateEndDate(operation: AXPBackgroundOperation): Date | null;
1069
+ declare function axpBackgroundOperationCapabilities(partial?: Partial<AXPBackgroundOperationCapabilities>): AXPBackgroundOperationCapabilities;
1070
+ declare function axpBackgroundOperationFailurePolicy(partial?: Partial<AXPBackgroundOperationFailurePolicy>): AXPBackgroundOperationFailurePolicy;
1071
+ declare function axpIsActiveBackgroundOperationStatus(status: AXPBackgroundOperationStatus): boolean;
1072
+ declare function axpIsCompletedBackgroundOperationStatus(status: AXPBackgroundOperationStatus): boolean;
1073
+
1074
+ declare class AXPBackgroundOperationService {
1075
+ private readonly providers;
1076
+ private readonly handlers;
1077
+ private readonly busy;
1078
+ readonly loading: i0.Signal<boolean>;
1079
+ readonly operations: i0.Signal<readonly AXPBackgroundOperation[]>;
1080
+ readonly activeCount: i0.Signal<number>;
1081
+ readonly failedCount: i0.Signal<number>;
1082
+ getAvailableActions(operation: AXPBackgroundOperation): AXPBackgroundOperationActionKey[];
1083
+ create(providerKey: string, request: AXPBackgroundOperationCreateRequest): Promise<AXPBackgroundOperation>;
1084
+ cancel(operationId: string): Promise<void>;
1085
+ pause(operationId: string): Promise<void>;
1086
+ resume(operationId: string): Promise<void>;
1087
+ retry(operationId: string): Promise<void>;
1088
+ dismiss(operationId: string): Promise<void>;
1089
+ hasClickHandler(operation: AXPBackgroundOperation): boolean;
1090
+ executeCommand(operationId: string, command: AXPExecuteCommand): Promise<void>;
1091
+ executeClick(operationId: string): Promise<void>;
1092
+ runAction(operationId: string, action: AXPBackgroundOperationActionKey): Promise<void>;
1093
+ private resolveHandler;
1094
+ private resolveProvider;
1095
+ private resolveOperation;
1096
+ private run;
1097
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPBackgroundOperationService, never>;
1098
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPBackgroundOperationService>;
1099
+ }
1100
+
1101
+ declare class AXPBackgroundOperationSlotComponent {
1102
+ private readonly operationService;
1103
+ private readonly popover;
1104
+ protected readonly activeCount: i0.Signal<number>;
1105
+ protected readonly failedCount: i0.Signal<number>;
1106
+ protected readonly showSlot: i0.Signal<boolean>;
1107
+ protected readonly slotShowsFailureOnly: i0.Signal<boolean>;
1108
+ protected readonly slotLabelKey: i0.Signal<"@general:background-operation.slot.failed-single" | "@general:background-operation.slot.failed-multiple" | "@general:background-operation.slot.single" | "@general:background-operation.slot.multiple">;
1109
+ protected readonly slotLabelParams: i0.Signal<{
1110
+ count: number;
1111
+ }>;
1112
+ protected closePopover(): void;
1113
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPBackgroundOperationSlotComponent, never>;
1114
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPBackgroundOperationSlotComponent, "axp-background-operation-slot", never, {}, {}, never, never, true, never>;
1115
+ }
1116
+
808
1117
  interface AXPErrorHandler {
809
1118
  handleError(error: Error, next: (error: Error) => void): void;
810
1119
  }
@@ -828,6 +1137,68 @@ declare class AXPGlobalErrorHandler extends ErrorHandler {
828
1137
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPGlobalErrorHandler>;
829
1138
  }
830
1139
 
1140
+ /** Thrown when a requested platform resource cannot be resolved. */
1141
+ declare class AXPNotFoundError extends Error {
1142
+ constructor(message?: string);
1143
+ }
1144
+
1145
+ /** Canonical route path for the platform 404 page. */
1146
+ declare const AXP_NOT_FOUND_ROUTE = "/error/404";
1147
+ /**
1148
+ * Catch-all route that redirects unknown URLs to the platform 404 page.
1149
+ * Register this as the **last** route source in the application (after all app and module routes).
1150
+ */
1151
+ declare const AXP_NOT_FOUND_CATCH_ALL_ROUTE: Route;
1152
+ /**
1153
+ * Registers the platform catch-all 404 route.
1154
+ * Must be the last `ROUTES` provider in `app.config` so custom app routes are matched first.
1155
+ */
1156
+ declare function AXPNotFoundCatchAllRoute(): EnvironmentProviders;
1157
+ /**
1158
+ * Returns true when an entity byKey query did not resolve a record.
1159
+ */
1160
+ declare function axpIsEntityRecordNotFound(data: unknown): boolean;
1161
+ /**
1162
+ * Creates an Angular redirect command to the platform 404 page.
1163
+ */
1164
+ declare function axpRedirectToNotFound(router?: Router): RedirectCommand;
1165
+
1166
+ /** Canonical route path for the platform 401 page. */
1167
+ declare const AXP_UNAUTHORIZED_ROUTE = "/error/401";
1168
+ /**
1169
+ * Creates an Angular redirect command to the platform 401 page.
1170
+ */
1171
+ declare function axpRedirectToUnauthorized(router?: Router): RedirectCommand;
1172
+
1173
+ interface AXPKeyboardShortcutHelpGroup {
1174
+ label: string;
1175
+ items: AXPKeyboardShortcutHelpEntry[];
1176
+ }
1177
+ declare class AXPKeyboardShortcutsHelpComponent {
1178
+ private readonly shortcutRegistry;
1179
+ protected readonly groups: i0.Signal<AXPKeyboardShortcutHelpGroup[]>;
1180
+ protected chordToKbdKeys(chord: string): string[];
1181
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPKeyboardShortcutsHelpComponent, never>;
1182
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPKeyboardShortcutsHelpComponent, "axp-keyboard-shortcuts-help", never, {}, {}, never, never, true, never>;
1183
+ }
1184
+
1185
+ declare class AXPKeyboardShortcutsHelpService {
1186
+ private readonly popupService;
1187
+ private readonly translationService;
1188
+ private readonly shortcutRegistry;
1189
+ private readonly document;
1190
+ /** In-flight help popup session (open until the popup closes). */
1191
+ private activeShow;
1192
+ constructor();
1193
+ /**
1194
+ * Opens the keyboard shortcuts help popup, or no-ops when it is already open.
1195
+ */
1196
+ show(): Promise<void>;
1197
+ private openHelpPopup;
1198
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPKeyboardShortcutsHelpService, never>;
1199
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPKeyboardShortcutsHelpService>;
1200
+ }
1201
+
831
1202
  interface AXPCommonModuleConfigs {
832
1203
  errorHandlers: (new () => AXPErrorHandler)[];
833
1204
  }
@@ -837,9 +1208,9 @@ declare class AXPCommonModule {
837
1208
  /**
838
1209
  * @ignore
839
1210
  */
840
- constructor(instances: any[]);
1211
+ constructor(instances: any[], _keyboardShortcutsHelp: AXPKeyboardShortcutsHelpService);
841
1212
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPCommonModule, never>;
842
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXPCommonModule, never, [typeof i1.AXPWorkflowModule, typeof i2.AXPopupModule, typeof i3.AXDateTimeModule, typeof i4.AXToastModule, typeof i5.AXPModuleManifestModule], [typeof i6.RouterModule]>;
1213
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXPCommonModule, never, [typeof i1.AXPComponentSlotModule, typeof i2.AXPWorkflowModule, typeof i3.AXPopupModule, typeof i4.AXDateTimeModule, typeof i5.AXToastModule, typeof i1.AXPModuleManifestModule], [typeof _angular_router.RouterModule]>;
843
1214
  static ɵinj: i0.ɵɵInjectorDeclaration<AXPCommonModule>;
844
1215
  }
845
1216
 
@@ -876,6 +1247,7 @@ declare enum AXPCommonSettings {
876
1247
  ApplyLayoutOrdering = "Common:Setting:Entity.ApplyLayoutOrdering",
877
1248
  RedirectToDetailsAfterCreate = "Common:Setting:Entity.RedirectToDetailsAfterCreate",
878
1249
  ShowPageBadge = "Common:Setting:Entity.ShowPageBadge",
1250
+ ConfirmUnsavedChanges = "Common:Setting:Entity.ConfirmUnsavedChanges",
879
1251
  DebugMode = "PlatformDevTools:Setting:Developer.DebugMode",
880
1252
  ShowRowIndexColumn = "Common:Setting:Entity.ShowRowIndexColumn",
881
1253
  EntityListPersistenceMode = "Common:Setting:Entity.ListPersistenceMode"
@@ -943,6 +1315,175 @@ declare class AXPCustomOperatorServiceImpl extends AXPCustomOperatorService {
943
1315
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPCustomOperatorServiceImpl>;
944
1316
  }
945
1317
 
1318
+ /**
1319
+ * Capabilities API provided to file action providers.
1320
+ * These methods allow actions to interact with the file uploader widget.
1321
+ */
1322
+ interface AXCFileUploaderCapabilities {
1323
+ /**
1324
+ * Get all current files in the uploader.
1325
+ */
1326
+ getFiles: () => AXPFileListItem[];
1327
+ /**
1328
+ * Replace all files in the uploader.
1329
+ */
1330
+ setFiles: (files: AXPFileListItem[]) => void;
1331
+ /**
1332
+ * Add new files to the uploader.
1333
+ */
1334
+ addFiles: (files: AXPFileListItem[]) => void;
1335
+ /**
1336
+ * Update files matching a predicate.
1337
+ */
1338
+ updateFile: (predicate: (f: AXPFileListItem) => boolean, updater: (f: AXPFileListItem) => AXPFileListItem) => void;
1339
+ /**
1340
+ * Remove a file from the uploader.
1341
+ */
1342
+ removeFile: (file: AXPFileListItem) => void;
1343
+ /**
1344
+ * Clear all files from the uploader.
1345
+ */
1346
+ clear: () => void;
1347
+ /**
1348
+ * Get a file by its ID.
1349
+ */
1350
+ getFileById: (id: string) => AXPFileListItem | undefined;
1351
+ /**
1352
+ * Update a file by its ID.
1353
+ */
1354
+ updateFileById: (id: string, next: Partial<AXPFileListItem>) => void;
1355
+ }
1356
+ /**
1357
+ * A file uploader action that can be added by providers.
1358
+ */
1359
+ interface AXCFileUploaderAction {
1360
+ /**
1361
+ * Unique identifier for the action/plugin.
1362
+ */
1363
+ plugin: string;
1364
+ /**
1365
+ * Whether this action is global (available even if plugin is not explicitly enabled).
1366
+ */
1367
+ global?: boolean;
1368
+ /**
1369
+ * Display text for the action (optional if textKey is provided).
1370
+ */
1371
+ text?: string;
1372
+ /**
1373
+ * Translation key for the action text (optional if text is provided).
1374
+ */
1375
+ textKey?: string;
1376
+ /**
1377
+ * Icon class for the action (e.g., 'fa-light fa-file-arrow-up').
1378
+ */
1379
+ icon?: string;
1380
+ /**
1381
+ * Action execution handler.
1382
+ * Receives capabilities to interact with the file uploader.
1383
+ * @param capabilities The capabilities API for file operations.
1384
+ */
1385
+ run: (capabilities: AXCFileUploaderCapabilities) => void | Promise<void>;
1386
+ }
1387
+ /**
1388
+ * Payload passed to file action providers.
1389
+ */
1390
+ interface AXCFileUploaderActionsPayload {
1391
+ /**
1392
+ * Enabled plugins configuration.
1393
+ */
1394
+ plugins: {
1395
+ name: string;
1396
+ options?: unknown;
1397
+ }[];
1398
+ /**
1399
+ * List of plugin names to exclude.
1400
+ */
1401
+ excludePlugins: string[];
1402
+ /**
1403
+ * Capabilities API for interacting with the file uploader.
1404
+ */
1405
+ capabilities: AXCFileUploaderCapabilities;
1406
+ /**
1407
+ * Current list of actions (providers can add to this array).
1408
+ */
1409
+ actions: AXCFileUploaderAction[];
1410
+ /**
1411
+ * Widget options (optional, for accessing widget-specific settings).
1412
+ */
1413
+ options?: {
1414
+ /**
1415
+ * Whether multiple files are allowed.
1416
+ */
1417
+ multiple?: boolean;
1418
+ /**
1419
+ * Accepted file types (e.g., '.jpg,.png' or 'image/*').
1420
+ */
1421
+ accept?: string;
1422
+ };
1423
+ }
1424
+
1425
+ /**
1426
+ * Type for file action provider token (supports both direct and async providers).
1427
+ */
1428
+ type AXPFileActionProviderToken = AXPFileActionProvider | Promise<AXPFileActionProvider>;
1429
+ /**
1430
+ * File action provider interface.
1431
+ * Providers can add actions to the file uploader widget.
1432
+ */
1433
+ interface AXPFileActionProvider {
1434
+ /**
1435
+ * Unique key identifying this provider.
1436
+ * Should match the webhook key for backward compatibility: 'file-uploader.actions'
1437
+ */
1438
+ key: string;
1439
+ /**
1440
+ * Execute the provider to add actions.
1441
+ * @param payload The payload containing capabilities and current actions.
1442
+ * @returns The modified payload with new actions added.
1443
+ */
1444
+ execute(payload: AXCFileUploaderActionsPayload): Promise<AXCFileUploaderActionsPayload> | AXCFileUploaderActionsPayload;
1445
+ /**
1446
+ * Priority for execution order (lower numbers execute first).
1447
+ * Defaults to 0 if not specified.
1448
+ */
1449
+ priority?: number;
1450
+ }
1451
+ /**
1452
+ * Multi-provider injection token for file action providers.
1453
+ * Modules can provide multiple implementations using this token.
1454
+ */
1455
+ declare const AXP_FILE_ACTION_PROVIDER: InjectionToken<AXPFileActionProviderToken[]>;
1456
+
1457
+ /**
1458
+ * Service for managing file uploader actions.
1459
+ * Aggregates actions from multiple providers and filters them based on plugin configuration.
1460
+ * Wraps the hook system for backward compatibility.
1461
+ */
1462
+ declare class AXPFileActionsService {
1463
+ private readonly actionProviders;
1464
+ private readonly hookService;
1465
+ private readonly injector;
1466
+ /**
1467
+ * Get all actions from providers, filtered based on plugin configuration.
1468
+ * Wraps the hook system for backward compatibility.
1469
+ * @param payload Initial payload with capabilities and plugin configuration.
1470
+ * @returns Filtered list of actions.
1471
+ */
1472
+ getActions(payload: AXCFileUploaderActionsPayload): Promise<AXCFileUploaderAction[]>;
1473
+ /**
1474
+ * Resolve all providers (handle both direct providers and Promise<provider>).
1475
+ */
1476
+ private resolveProviders;
1477
+ /**
1478
+ * Filter actions based on enabled plugins and exclude list.
1479
+ */
1480
+ private filterActions;
1481
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPFileActionsService, never>;
1482
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPFileActionsService>;
1483
+ }
1484
+
1485
+ declare const UploadFromComputerActionProvider: AXPFileActionProvider;
1486
+
946
1487
  declare enum AXPFileStorageStatus {
947
1488
  Temporary = "temporary",// File is not yet associated with a parent entity
948
1489
  Committed = "committed",// File is fully associated and in use
@@ -1102,287 +1643,118 @@ interface AXPFileStorageInfo {
1102
1643
  */
1103
1644
  isPublic: boolean;
1104
1645
  /**
1105
- * Indicates whether the file is primary or not.
1106
- */
1107
- isPrimary?: boolean;
1108
- status: AXPFileStorageStatus;
1109
- binary: File;
1110
- }
1111
- interface AXPFileStorageInfo {
1112
- /**
1113
- * The unique identifier for the stored file.
1114
- */
1115
- id?: string;
1116
- /**
1117
- * The unique identifier for the stored file.
1118
- */
1119
- fileId: string;
1120
- /**
1121
- * The unique identifier of referenced entity.
1122
- */
1123
- refId: string;
1124
- /**
1125
- * The type of the referenced entity.
1126
- */
1127
- refType: string;
1128
- /**
1129
- * The category of the file. profile-picture, company-logo, policy, document, etc.
1130
- */
1131
- category: string;
1132
- /**
1133
- * The URL where the file can be accessed.
1134
- */
1135
- url?: string;
1136
- /**
1137
- * The size of the file in bytes.
1138
- */
1139
- size: number;
1140
- /**
1141
- * The name of the file.
1142
- */
1143
- name?: string;
1144
- /**
1145
- * The MIME type of the file.
1146
- */
1147
- mimeType: string;
1148
- /**
1149
- * The date and time when the file was uploaded.
1150
- */
1151
- uploadedAt: Date;
1152
- /**
1153
- * Indicates whether the file is public or private.
1154
- */
1155
- isPublic: boolean;
1156
- /**
1157
- * Indicates whether the file is primary or not.
1158
- */
1159
- isPrimary?: boolean;
1160
- status: AXPFileStorageStatus;
1161
- binary: File;
1162
- }
1163
- /**
1164
- * Represents information about a file stored in the AXP file storage system.
1165
- */
1166
- interface AXPFileStorageFindRequest {
1167
- /**
1168
- * The unique identifier of referenced entity.
1169
- */
1170
- refId?: string;
1171
- /**
1172
- * The type of the referenced entity.
1173
- */
1174
- refType?: string;
1175
- /**
1176
- * The category of the file. profile-picture, company-logo, policy, document, etc.
1177
- */
1178
- category?: string;
1179
- /**
1180
- * The MIME type of the file.
1181
- */
1182
- mimeType?: string;
1183
- /**
1184
- * Indicates whether the file is public or private.
1185
- */
1186
- isPublic?: boolean;
1187
- /**
1188
- * Indicates whether the file is primary or not.
1189
- */
1190
- isPrimary?: boolean;
1191
- /**
1192
- * The date and time range when the file was uploaded.
1193
- */
1194
- uploadedAtRange?: {
1195
- from: Date;
1196
- to: Date;
1197
- };
1198
- }
1199
-
1200
- declare abstract class AXPFileStorageService {
1201
- abstract save(request: AXPFileStorageCreateRequest): Promise<AXPFileStorageInfo>;
1202
- abstract update(request: AXPFileStorageUpdateRequest): Promise<AXPFileStorageInfo>;
1203
- abstract find(request: AXPFileStorageFindRequest): Promise<AXPFileStorageInfo[]>;
1204
- abstract findMany(ids: string[]): Promise<AXPFileManyStorageInfo[]>;
1205
- abstract getInfo(fileId: string): Promise<AXPFileStorageInfo>;
1206
- abstract remove(fileId: string): Promise<void>;
1207
- abstract commit(fileId: string): Promise<void>;
1208
- abstract markForDeletion(fileId: string): Promise<void>;
1209
- static ɵfac: i0.ɵɵFactoryDeclaration<AXPFileStorageService, never>;
1210
- static ɵprov: i0.ɵɵInjectableDeclaration<AXPFileStorageService>;
1211
- }
1212
-
1213
- declare class AXPFileStorageEvaluatorScopeProvider implements AXPExpressionEvaluatorScopeProvider {
1214
- fileStorageService: AXPFileStorageService;
1215
- provide(context: AXPExpressionEvaluatorScopeProviderContext): Promise<void>;
1216
- }
1217
-
1218
- /**
1219
- * Capabilities API provided to file action providers.
1220
- * These methods allow actions to interact with the file uploader widget.
1221
- */
1222
- interface AXCFileUploaderCapabilities {
1223
- /**
1224
- * Get all current files in the uploader.
1225
- */
1226
- getFiles: () => AXPFileListItem[];
1227
- /**
1228
- * Replace all files in the uploader.
1229
- */
1230
- setFiles: (files: AXPFileListItem[]) => void;
1231
- /**
1232
- * Add new files to the uploader.
1233
- */
1234
- addFiles: (files: AXPFileListItem[]) => void;
1235
- /**
1236
- * Update files matching a predicate.
1237
- */
1238
- updateFile: (predicate: (f: AXPFileListItem) => boolean, updater: (f: AXPFileListItem) => AXPFileListItem) => void;
1239
- /**
1240
- * Remove a file from the uploader.
1241
- */
1242
- removeFile: (file: AXPFileListItem) => void;
1243
- /**
1244
- * Clear all files from the uploader.
1245
- */
1246
- clear: () => void;
1247
- /**
1248
- * Get a file by its ID.
1249
- */
1250
- getFileById: (id: string) => AXPFileListItem | undefined;
1251
- /**
1252
- * Update a file by its ID.
1646
+ * Indicates whether the file is primary or not.
1253
1647
  */
1254
- updateFileById: (id: string, next: Partial<AXPFileListItem>) => void;
1648
+ isPrimary?: boolean;
1649
+ status: AXPFileStorageStatus;
1650
+ binary: File;
1255
1651
  }
1256
- /**
1257
- * A file uploader action that can be added by providers.
1258
- */
1259
- interface AXCFileUploaderAction {
1652
+ interface AXPFileStorageInfo {
1260
1653
  /**
1261
- * Unique identifier for the action/plugin.
1654
+ * The unique identifier for the stored file.
1262
1655
  */
1263
- plugin: string;
1656
+ id?: string;
1264
1657
  /**
1265
- * Whether this action is global (available even if plugin is not explicitly enabled).
1658
+ * The unique identifier for the stored file.
1266
1659
  */
1267
- global?: boolean;
1660
+ fileId: string;
1268
1661
  /**
1269
- * Display text for the action (optional if textKey is provided).
1662
+ * The unique identifier of referenced entity.
1270
1663
  */
1271
- text?: string;
1664
+ refId: string;
1272
1665
  /**
1273
- * Translation key for the action text (optional if text is provided).
1666
+ * The type of the referenced entity.
1274
1667
  */
1275
- textKey?: string;
1668
+ refType: string;
1276
1669
  /**
1277
- * Icon class for the action (e.g., 'fa-light fa-file-arrow-up').
1670
+ * The category of the file. profile-picture, company-logo, policy, document, etc.
1278
1671
  */
1279
- icon?: string;
1672
+ category: string;
1280
1673
  /**
1281
- * Action execution handler.
1282
- * Receives capabilities to interact with the file uploader.
1283
- * @param capabilities The capabilities API for file operations.
1674
+ * The URL where the file can be accessed.
1284
1675
  */
1285
- run: (capabilities: AXCFileUploaderCapabilities) => void | Promise<void>;
1286
- }
1287
- /**
1288
- * Payload passed to file action providers.
1289
- */
1290
- interface AXCFileUploaderActionsPayload {
1676
+ url?: string;
1291
1677
  /**
1292
- * Enabled plugins configuration.
1678
+ * The size of the file in bytes.
1293
1679
  */
1294
- plugins: {
1295
- name: string;
1296
- options?: unknown;
1297
- }[];
1680
+ size: number;
1298
1681
  /**
1299
- * List of plugin names to exclude.
1682
+ * The name of the file.
1300
1683
  */
1301
- excludePlugins: string[];
1684
+ name?: string;
1302
1685
  /**
1303
- * Capabilities API for interacting with the file uploader.
1686
+ * The MIME type of the file.
1304
1687
  */
1305
- capabilities: AXCFileUploaderCapabilities;
1688
+ mimeType: string;
1306
1689
  /**
1307
- * Current list of actions (providers can add to this array).
1690
+ * The date and time when the file was uploaded.
1308
1691
  */
1309
- actions: AXCFileUploaderAction[];
1692
+ uploadedAt: Date;
1310
1693
  /**
1311
- * Widget options (optional, for accessing widget-specific settings).
1694
+ * Indicates whether the file is public or private.
1312
1695
  */
1313
- options?: {
1314
- /**
1315
- * Whether multiple files are allowed.
1316
- */
1317
- multiple?: boolean;
1318
- /**
1319
- * Accepted file types (e.g., '.jpg,.png' or 'image/*').
1320
- */
1321
- accept?: string;
1322
- };
1696
+ isPublic: boolean;
1697
+ /**
1698
+ * Indicates whether the file is primary or not.
1699
+ */
1700
+ isPrimary?: boolean;
1701
+ status: AXPFileStorageStatus;
1702
+ binary: File;
1323
1703
  }
1324
-
1325
1704
  /**
1326
- * Type for file action provider token (supports both direct and async providers).
1327
- */
1328
- type AXPFileActionProviderToken = AXPFileActionProvider | Promise<AXPFileActionProvider>;
1329
- /**
1330
- * File action provider interface.
1331
- * Providers can add actions to the file uploader widget.
1705
+ * Represents information about a file stored in the AXP file storage system.
1332
1706
  */
1333
- interface AXPFileActionProvider {
1707
+ interface AXPFileStorageFindRequest {
1334
1708
  /**
1335
- * Unique key identifying this provider.
1336
- * Should match the webhook key for backward compatibility: 'file-uploader.actions'
1709
+ * The unique identifier of referenced entity.
1337
1710
  */
1338
- key: string;
1711
+ refId?: string;
1339
1712
  /**
1340
- * Execute the provider to add actions.
1341
- * @param payload The payload containing capabilities and current actions.
1342
- * @returns The modified payload with new actions added.
1713
+ * The type of the referenced entity.
1343
1714
  */
1344
- execute(payload: AXCFileUploaderActionsPayload): Promise<AXCFileUploaderActionsPayload> | AXCFileUploaderActionsPayload;
1715
+ refType?: string;
1345
1716
  /**
1346
- * Priority for execution order (lower numbers execute first).
1347
- * Defaults to 0 if not specified.
1717
+ * The category of the file. profile-picture, company-logo, policy, document, etc.
1348
1718
  */
1349
- priority?: number;
1350
- }
1351
- /**
1352
- * Multi-provider injection token for file action providers.
1353
- * Modules can provide multiple implementations using this token.
1354
- */
1355
- declare const AXP_FILE_ACTION_PROVIDER: InjectionToken<AXPFileActionProviderToken[]>;
1356
-
1357
- /**
1358
- * Service for managing file uploader actions.
1359
- * Aggregates actions from multiple providers and filters them based on plugin configuration.
1360
- * Wraps the hook system for backward compatibility.
1361
- */
1362
- declare class AXPFileActionsService {
1363
- private readonly actionProviders;
1364
- private readonly hookService;
1365
- private readonly injector;
1719
+ category?: string;
1366
1720
  /**
1367
- * Get all actions from providers, filtered based on plugin configuration.
1368
- * Wraps the hook system for backward compatibility.
1369
- * @param payload Initial payload with capabilities and plugin configuration.
1370
- * @returns Filtered list of actions.
1721
+ * The MIME type of the file.
1371
1722
  */
1372
- getActions(payload: AXCFileUploaderActionsPayload): Promise<AXCFileUploaderAction[]>;
1723
+ mimeType?: string;
1373
1724
  /**
1374
- * Resolve all providers (handle both direct providers and Promise<provider>).
1725
+ * Indicates whether the file is public or private.
1375
1726
  */
1376
- private resolveProviders;
1727
+ isPublic?: boolean;
1377
1728
  /**
1378
- * Filter actions based on enabled plugins and exclude list.
1729
+ * Indicates whether the file is primary or not.
1379
1730
  */
1380
- private filterActions;
1381
- static ɵfac: i0.ɵɵFactoryDeclaration<AXPFileActionsService, never>;
1382
- static ɵprov: i0.ɵɵInjectableDeclaration<AXPFileActionsService>;
1731
+ isPrimary?: boolean;
1732
+ /**
1733
+ * The date and time range when the file was uploaded.
1734
+ */
1735
+ uploadedAtRange?: {
1736
+ from: Date;
1737
+ to: Date;
1738
+ };
1383
1739
  }
1384
1740
 
1385
- declare const UploadFromComputerActionProvider: AXPFileActionProvider;
1741
+ declare abstract class AXPFileStorageService {
1742
+ abstract save(request: AXPFileStorageCreateRequest): Promise<AXPFileStorageInfo>;
1743
+ abstract update(request: AXPFileStorageUpdateRequest): Promise<AXPFileStorageInfo>;
1744
+ abstract find(request: AXPFileStorageFindRequest): Promise<AXPFileStorageInfo[]>;
1745
+ abstract findMany(ids: string[]): Promise<AXPFileManyStorageInfo[]>;
1746
+ abstract getInfo(fileId: string): Promise<AXPFileStorageInfo>;
1747
+ abstract remove(fileId: string): Promise<void>;
1748
+ abstract commit(fileId: string): Promise<void>;
1749
+ abstract markForDeletion(fileId: string): Promise<void>;
1750
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPFileStorageService, never>;
1751
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPFileStorageService>;
1752
+ }
1753
+
1754
+ declare class AXPFileStorageEvaluatorScopeProvider implements AXPExpressionEvaluatorScopeProvider {
1755
+ fileStorageService: AXPFileStorageService;
1756
+ provide(context: AXPExpressionEvaluatorScopeProviderContext): Promise<void>;
1757
+ }
1386
1758
 
1387
1759
  interface AXPFileType {
1388
1760
  /**
@@ -1519,6 +1891,11 @@ interface AXPMenuItem {
1519
1891
  permissions?: string[];
1520
1892
  features?: string[];
1521
1893
  };
1894
+ /**
1895
+ * Keyboard shortcuts for this menu item.
1896
+ * Use a chord string or `{ keys, allowInEditableFields, ... }`. Pass `[]` to disable.
1897
+ */
1898
+ shortcuts?: AXPKeyboardShortcut[];
1522
1899
  }
1523
1900
  interface AXPMenuFinderResult {
1524
1901
  readonly exists: boolean;
@@ -1836,12 +2213,36 @@ declare const AXPMenuService: i0.Type<{
1836
2213
  };
1837
2214
  }>>;
1838
2215
 
2216
+ declare class AXPMenuKeyboardShortcutService {
2217
+ private readonly destroyRef;
2218
+ private readonly injector;
2219
+ private readonly shortcutRegistry;
2220
+ private readonly visibilityService;
2221
+ private readonly sessionService;
2222
+ private readonly isAuthenticated;
2223
+ /**
2224
+ * Registers global keyboard shortcuts declared on menu items (`shortcuts` property).
2225
+ * Replaces the previous registration when the menu tree is reloaded.
2226
+ */
2227
+ sync(items: AXPMenuItem[]): void;
2228
+ private buildShortcutBindings;
2229
+ private collectShortcutEntries;
2230
+ private isShortcutActive;
2231
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPMenuKeyboardShortcutService, never>;
2232
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPMenuKeyboardShortcutService>;
2233
+ }
2234
+
1839
2235
  /**
1840
2236
  * Service for checking menu item visibility based on permissions, features, and children.
1841
2237
  * This service helps filter out empty menu items that have no visible children.
1842
2238
  */
1843
2239
  declare class AXPMenuVisibilityService {
1844
2240
  private sessionService;
2241
+ /**
2242
+ * Checks visibility for a menu branch, including ancestor policies.
2243
+ * Parent module features and permissions must pass before child routes are accessible.
2244
+ */
2245
+ isMenuBranchVisible(item: AXPMenuItem, ancestors?: AXPMenuItem[]): boolean;
1845
2246
  /**
1846
2247
  * Checks if a menu item should be visible based on permissions and features.
1847
2248
  */
@@ -1867,11 +2268,67 @@ declare class AXPMenuVisibilityService {
1867
2268
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPMenuVisibilityService>;
1868
2269
  }
1869
2270
 
2271
+ interface AXPMenuRouteMatchResult {
2272
+ item: AXPMenuItem;
2273
+ /** Parent menu items from root down to the direct parent of the matched item. */
2274
+ ancestors: AXPMenuItem[];
2275
+ isPartialMatch: boolean;
2276
+ }
2277
+ /**
2278
+ * Compares a menu item path with the current browser path.
2279
+ * Mirrors the matching rules used when selecting the active menu item.
2280
+ */
2281
+ declare function axpMenuPathsMatch(itemPath: string, currentPath: string, trailingSegmentsToIgnore?: string[]): {
2282
+ isMatch: boolean;
2283
+ isPartial: boolean;
2284
+ };
2285
+ /**
2286
+ * Finds the most specific menu item that matches the given route path.
2287
+ */
2288
+ declare function axpFindMenuItemByRoute(items: AXPMenuItem[], currentPath: string, trailingSegmentsToIgnore?: string[]): AXPMenuRouteMatchResult | null;
2289
+
2290
+ /**
2291
+ * Resolves route access using menu policy, route metadata, permissions, and features.
2292
+ */
2293
+ declare class AXPMenuRouteAccessService {
2294
+ private readonly menuProvider;
2295
+ private readonly menuVisibility;
2296
+ private readonly sessionService;
2297
+ /**
2298
+ * Checks whether navigation to the target URL is allowed for the current user.
2299
+ */
2300
+ canAccess(route: ActivatedRouteSnapshot, url: string): Promise<boolean>;
2301
+ private shouldSkip;
2302
+ private hasRouteFlag;
2303
+ private hasExplicitRouteAccess;
2304
+ private getInheritedRouteData;
2305
+ private normalizeKeys;
2306
+ private normalizeUrl;
2307
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPMenuRouteAccessService, never>;
2308
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPMenuRouteAccessService>;
2309
+ }
2310
+
2311
+ /**
2312
+
2313
+ * Blocks navigation when the target route is not accessible for the current user.
2314
+
2315
+ * Evaluates menu policy, permissions, and features.
2316
+
2317
+ */
2318
+ declare const AXPMenuRouteGuard: CanActivateFn;
2319
+
2320
+ /** Standard guards for authenticated routes with menu-based access enforcement. */
2321
+ declare const AXP_PROTECTED_ROUTE_GUARDS: readonly [_angular_router.CanActivateFn, _angular_router.CanActivateFn];
2322
+
1870
2323
  interface AXPSearchDefinitionDisplayFormat {
1871
2324
  title?: string;
1872
2325
  description?: string;
1873
2326
  icon?: string;
1874
2327
  id?: string;
2328
+ /** Entity `single.title` / lookup / individual templates when primary `title` is empty. */
2329
+ titleFallbackTemplates?: string[];
2330
+ /** Entity property paths (from schema) when templates do not resolve. */
2331
+ titleFallbackFields?: string[];
1875
2332
  }
1876
2333
  interface AXPSearchDefinition {
1877
2334
  name: string;
@@ -1991,11 +2448,72 @@ declare class AXPSearchService {
1991
2448
  private definitionService;
1992
2449
  private formatService;
1993
2450
  private translationService;
2451
+ private expressionEvaluator;
1994
2452
  search(text: string): Promise<AXPSearchDisplayGroupResult[]>;
1995
2453
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPSearchService, never>;
1996
2454
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPSearchService>;
1997
2455
  }
1998
2456
 
2457
+ /**
2458
+ * Resolves a value to plain text for global-search matching (i18n keys, locale maps, scalars).
2459
+ */
2460
+ declare function resolveSearchableText(value: unknown, locale: string, translationService: AXTranslationService): string;
2461
+ /**
2462
+ * Case-insensitive match against i18n keys, locale maps, and plain strings.
2463
+ */
2464
+ declare function searchInSearchableValue(value: unknown, query: string, locale: string, translationService: AXTranslationService): boolean;
2465
+ /**
2466
+ * Shallow + nested search over entity/command payloads (skips id / entityName keys).
2467
+ */
2468
+ declare function searchInRecordValues(value: unknown, query: string, locale: string, translationService: AXTranslationService, depth?: number): boolean;
2469
+ /** Standard row scope for entity title/search templates. */
2470
+ declare function createEntityRowExpressionScope(data: unknown): AXPExpressionEvaluatorScope;
2471
+ /**
2472
+ * Evaluates a normalized entity display template via {@link AXPExpressionEvaluatorService}.
2473
+ */
2474
+ declare function evaluateEntityDisplayTemplate(template: string, data: unknown, expressionEvaluator: AXPExpressionEvaluatorService, locale: string, translationService: AXTranslationService): Promise<unknown>;
2475
+ /**
2476
+ * Best display string from row values that contain the active search query (deep-match fallback).
2477
+ */
2478
+ declare function resolveQueryMatchingDisplayText(value: unknown, query: string, locale: string, translationService: AXTranslationService, depth?: number): string;
2479
+ /**
2480
+ * Resolves entity search display templates; coerces multi-language field values to readable text.
2481
+ */
2482
+ declare function resolveSearchDisplayTemplate(template: string | undefined, data: unknown, locale: string, translationService: AXTranslationService, formatService: AXFormatService, expressionEvaluator: AXPExpressionEvaluatorService): Promise<AXPMultiLanguageString>;
2483
+
2484
+ interface AXPEntitySearchTitleContext {
2485
+ /** Templates tried after the primary `searchResult.title` fails (`single.title`, lookup, individual). */
2486
+ fallbackTemplates: string[];
2487
+ /** Entity property paths tried when templates do not resolve (`lookup`, identifier, common fields). */
2488
+ fallbackFields: string[];
2489
+ }
2490
+ /**
2491
+ * Normalizes entity display templates for {@link AXPExpressionEvaluatorService}.
2492
+ * Converts `context.eval('path')`, single braces, and simple dot paths to `context.eval` segments.
2493
+ */
2494
+ declare function normalizeEntityDisplayTemplate(template: string): string;
2495
+ /** True when formatted text still contains unresolved template markers. */
2496
+ declare function isUnresolvedEntityDisplayTemplate(value: string): boolean;
2497
+ /**
2498
+ * Strips literal `undefined` / `null` tokens produced when expression segments are missing.
2499
+ */
2500
+ declare function sanitizeResolvedEntityDisplayTitle(value: string): string;
2501
+ /** True when a resolved title is non-empty and safe to show in search or entity chrome. */
2502
+ declare function isMeaningfulEntityDisplayTitle(value: string): boolean;
2503
+ /**
2504
+ * Builds entity-scoped fallback metadata for global search (registered on each entity search definition).
2505
+ */
2506
+ declare function buildEntitySearchTitleContext(entity: AXPEntity, primaryTemplate?: string): AXPEntitySearchTitleContext;
2507
+ /**
2508
+ * Row title template chain aligned with entity layouts.
2509
+ * Priority: `interfaces.master.single.title` → `formats.searchResult.title` → `formats.individual`.
2510
+ */
2511
+ declare function resolveEntityRowTitleTemplate(entity: AXPEntity | null | undefined): string | undefined;
2512
+ /**
2513
+ * Resolves an entity row title using entity-driven fallback templates and property paths.
2514
+ */
2515
+ declare function resolveEntitySearchTitleFallback(format: Pick<AXPSearchDefinitionDisplayFormat, 'titleFallbackTemplates' | 'titleFallbackFields'>, data: unknown, locale: string, translationService: AXTranslationService, formatService: AXFormatService, expressionEvaluator: AXPExpressionEvaluatorService): Promise<string>;
2516
+
1999
2517
  /**
2000
2518
  * Shared utility for creating Entity:Create command options used in search command providers.
2001
2519
  * Use with command: { name: 'Entity:Create', options: createEntityCommandOptions(...) }
@@ -2384,6 +2902,17 @@ declare class AXPSettingsEvaluatorScopeProvider implements AXPExpressionEvaluato
2384
2902
  provide(context: AXPExpressionEvaluatorScopeProviderContext): Promise<void>;
2385
2903
  }
2386
2904
 
2905
+ /**
2906
+ * Platform-provided {@link AXCalendarService} that applies locale profile week layout
2907
+ * (first day of week, weekends) through the core calendar service lifecycle.
2908
+ *
2909
+ * Temporary bridge until @acorex/components reads week layout from AXLocaleService.
2910
+ */
2911
+ declare class AXPRegionalCalendarService extends AXCalendarService {
2912
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPRegionalCalendarService, never>;
2913
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPRegionalCalendarService>;
2914
+ }
2915
+
2387
2916
  /**
2388
2917
  * Regional and locale-related setting keys used by platform widgets and components.
2389
2918
  * Most values use the `LocaleManagement:Setting:Regional.*` prefix; definitions live in the locale-management module where applicable.
@@ -2394,6 +2923,8 @@ declare enum AXPRegionalSetting {
2394
2923
  Language = "LocaleManagement:Setting:Regional.Language",
2395
2924
  Country = "LocaleManagement:Setting:Regional.Country",
2396
2925
  Calendar = "LocaleManagement:Setting:Regional.Calendar",
2926
+ /** User-selected holiday calendars shown on the task board and other calendar views. */
2927
+ CalendarEvents = "LocaleManagement:Setting:Regional.CalendarEvents",
2397
2928
  FirstDayOfWeek = "LocaleManagement:Setting:Regional.FirstDayOfWeek",
2398
2929
  WeekendDays = "LocaleManagement:Setting:Regional.WeekendDays",
2399
2930
  ShortDate = "LocaleManagement:Setting:Regional.ShortDate",
@@ -2413,6 +2944,84 @@ declare enum AXPRegionalSetting {
2413
2944
  MultiLanguageSupport = "LocaleManagement:Setting:Regional.MultiLanguageSupport"
2414
2945
  }
2415
2946
 
2947
+ interface AXPUnsavedChangesConfirmOptions {
2948
+ /** When false, skips confirm even if the global setting is enabled (e.g. dialog `confirmCloseWhenDirty`). */
2949
+ enabled?: boolean;
2950
+ title?: AXPMultiLanguageString;
2951
+ message?: AXPMultiLanguageString;
2952
+ /**
2953
+ * When true (default), confirming sets leave approval for the next route deactivation.
2954
+ * Set false for in-place actions such as discarding edits without navigating away.
2955
+ */
2956
+ approveLeaveOnConfirm?: boolean;
2957
+ }
2958
+ interface AXPUnsavedChangesCanDeactivate {
2959
+ canDeactivate(): boolean | Promise<boolean>;
2960
+ }
2961
+ declare class AXPUnsavedChangesConfirmService {
2962
+ private readonly settingsService;
2963
+ private readonly dialogService;
2964
+ private readonly translateService;
2965
+ /** Ensures concurrent leave paths share a single unsaved-changes confirm dialog. */
2966
+ private confirmPromise?;
2967
+ /** Set after the user confirms leaving; cleared on {@link NavigationEnd} by popstate handler. */
2968
+ private leaveConfirmed;
2969
+ /**
2970
+ * Whether the global "confirm unsaved changes" setting is enabled.
2971
+ */
2972
+ isGloballyEnabled(): Promise<boolean>;
2973
+ /**
2974
+ * Marks the next route deactivation as already approved (avoids a second prompt after in-app navigation).
2975
+ */
2976
+ markLeaveConfirmed(): void;
2977
+ /** True while an unsaved-changes confirm dialog is open or being resolved. */
2978
+ isConfirmPending(): boolean;
2979
+ /** Whether the user already approved leaving during the current navigation. */
2980
+ hasLeaveConfirmed(): boolean;
2981
+ /** Clears leave approval after navigation settles. */
2982
+ clearLeaveConfirmed(): void;
2983
+ consumeLeaveConfirmed(): boolean;
2984
+ /**
2985
+ * Prompts when `isDirty` and the global setting (and optional per-instance `enabled`) allow it.
2986
+ * Returns true when navigation/dismiss may proceed.
2987
+ */
2988
+ confirmIfDirty(isDirty: boolean, options?: AXPUnsavedChangesConfirmOptions): Promise<boolean>;
2989
+ private resolveConfirmIfDirty;
2990
+ private prompt;
2991
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPUnsavedChangesConfirmService, never>;
2992
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPUnsavedChangesConfirmService>;
2993
+ }
2994
+
2995
+ interface AXPUnsavedChangesPopstateSource {
2996
+ id: string;
2997
+ isDirty: () => boolean;
2998
+ }
2999
+ /**
3000
+ * Intercepts browser back/forward (`popstate`) when a registered page is dirty.
3001
+ * Captures dirty state synchronously on {@link NavigationStart}, restores the current URL
3002
+ * before route activation, prompts once, then re-triggers `history.back()` only if confirmed.
3003
+ */
3004
+ declare class AXPUnsavedChangesPopstateService {
3005
+ private readonly router;
3006
+ private readonly location;
3007
+ private readonly confirm;
3008
+ private readonly destroyRef;
3009
+ private sources;
3010
+ private committedUrl;
3011
+ private handling;
3012
+ constructor();
3013
+ registerSource(source: AXPUnsavedChangesPopstateSource): void;
3014
+ unregisterSource(id: string): void;
3015
+ /** True while a popstate back/forward is being intercepted or confirmed. */
3016
+ isHandlingPopstate(): boolean;
3017
+ private handlePopstateNavigation;
3018
+ private isDirty;
3019
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPUnsavedChangesPopstateService, never>;
3020
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPUnsavedChangesPopstateService>;
3021
+ }
3022
+
3023
+ declare function createUnsavedChangesCanDeactivateGuard<T extends AXPUnsavedChangesCanDeactivate>(): CanDeactivateFn<T>;
3024
+
2416
3025
  /**
2417
3026
  * Status Definition Types
2418
3027
  * Defines the structure for status definitions and their transitions
@@ -2974,9 +3583,36 @@ declare class AXPTokenEvaluatorScopeProvider implements AXPExpressionEvaluatorSc
2974
3583
  provide(context: AXPExpressionEvaluatorScopeProviderContext): Promise<void>;
2975
3584
  }
2976
3585
 
3586
+ interface AXPAppPathParts {
3587
+ segments: string[];
3588
+ queryParams?: Record<string, string>;
3589
+ fragment?: string;
3590
+ }
3591
+ /**
3592
+ * Splits an absolute app path (`/app/m/module/e/Entity/id/view`) into router command segments.
3593
+ * Prefer this over `navigate([fullPath])` or ambiguous single-segment navigation so browser history stays correct.
3594
+ */
3595
+ declare function axpParseAppPath(path: string): AXPAppPathParts;
3596
+ /** Navigates using explicit path segments (same pattern as entity preload filters). */
3597
+ declare function axpNavigateAppPath(router: Router, path: string, extras?: NavigationExtras): Promise<boolean>;
3598
+ /** True when a URL path is an entity master list route (`.../e/{Entity}/list`). */
3599
+ declare function axpIsEntityListPath(url: string): boolean;
3600
+ /** True when the current browser URL is an entity master list route (`.../e/{Entity}/list`). */
3601
+ declare function axpIsEntityListRoute(router: Router): boolean;
3602
+ /** True when a URL path is an entity details view route (`.../e/{Entity}/{id}/view`). */
3603
+ declare function axpIsEntityDetailsPath(url: string): boolean;
3604
+ /** True when the current browser URL is an entity details view route (`.../e/{Entity}/{id}/view`). */
3605
+ declare function axpIsEntityDetailsViewRoute(router: Router): boolean;
3606
+ /**
3607
+ * Merges query params on the current entity list route without pushing history.
3608
+ * Uses absolute path segments so a stale `relativeTo` cannot rewrite the active URL after navigating away.
3609
+ */
3610
+ declare function axpReplaceEntityListRouteQueryParams(router: Router, queryParams: Record<string, string | null | undefined>): void;
3611
+
2977
3612
  declare class AXPClipBoardService {
2978
- private toast;
2979
- copy(title: string, value: string): void;
3613
+ private readonly toast;
3614
+ private readonly translationService;
3615
+ copy(title: string, value: string): Promise<void>;
2980
3616
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPClipBoardService, never>;
2981
3617
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPClipBoardService>;
2982
3618
  }
@@ -3194,10 +3830,6 @@ declare class AXPReloadAction extends AXPWorkflowAction {
3194
3830
  declare class AXPWorkflowRouterNavigateAction extends AXPWorkflowAction {
3195
3831
  private router;
3196
3832
  execute(context: AXPWorkflowContext): Promise<void>;
3197
- /**
3198
- * Parses query parameters from a query string into an object.
3199
- */
3200
- private parseQueryParams;
3201
3833
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPWorkflowRouterNavigateAction, never>;
3202
3834
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPWorkflowRouterNavigateAction>;
3203
3835
  }
@@ -3210,5 +3842,5 @@ declare class AXMWorkflowErrorHandler implements AXPErrorHandler {
3210
3842
  static ɵprov: i0.ɵɵInjectableDeclaration<AXMWorkflowErrorHandler>;
3211
3843
  }
3212
3844
 
3213
- export { ALL_DEFAULT_OPERATORS, AXMWorkflowErrorHandler, AXPAppVersionService, AXPCleanNestedFilters, AXPClipBoardService, AXPCommonModule, AXPCommonSettings, AXPCustomOperatorService, AXPCustomOperatorServiceImpl, AXPDataProvider, AXPDebugService, AXPDefaultMultiLanguageConfigService, AXPDialogConfirmAction, AXPEntityCommandScope, AXPEntityQueryType, AXPEntityType, AXPErrorHandlerRegistryService, AXPExportService, AXPFileActionsService, AXPFileStorageEvaluatorScopeProvider, AXPFileStorageService, AXPFileStorageStatus, AXPFileTypeProviderService, AXPFilterOperatorMiddlewareService, AXPFilterOperatorMiddlewareServiceImpl, AXPFooterTextSlotComponent, AXPGlobalErrorHandler, AXPHomePageModule, AXPHomePageService, AXPLockService, AXPMenuItemsDataSourceDefinition, AXPMenuMiddlewareRegistry, AXPMenuProviderService, AXPMenuSearchDefinitionProvider, AXPMenuSearchProvider, AXPMenuService, AXPMenuVisibilityService, AXPNavBarSlotComponent, AXPNavigateWorkflow, AXPOutputContractTranscriptSegmentService, AXPPlatformDefaultConfigs, AXPRedirectEvent, AXPRefreshEvent, AXPRegionalSetting, AXPRelationshipCardinality, AXPRelationshipKind, AXPReloadAction, AXPReloadEvent, AXPSearchCommandProvider, AXPSearchDefinitionActionBuilder, AXPSearchDefinitionBuilder, AXPSearchDefinitionProviderContext, AXPSearchDefinitionProviderService, AXPSearchService, AXPSettingDefaultValuesAggregatorService, AXPSettingDefinitionGroupBuilder, AXPSettingDefinitionProviderContext, AXPSettingDefinitionProviderService, AXPSettingDefinitionSectionBuilder, AXPSettingsEvaluatorScopeProvider, AXPSettingsService, AXPStatusDefinitionProviderService, AXPStatusProvider, AXPStickyDirective, AXPSystemStatusType, AXPSystemStatuses, AXPToastAction, AXPTokenDefinitionService, AXPTokenEvaluatorScopeProvider, AXPVersioningService, AXPWorkflowNavigateAction, AXPWorkflowRouterNavigateAction, AXP_AGENT_OUTPUT_CONTRACT_DEFAULT_STRUCTURED_RETRIES, AXP_APP_VERSION_PROVIDER, AXP_FILE_ACTION_PROVIDER, AXP_FILE_TYPE_INFO_PROVIDER, AXP_HOME_PAGES, AXP_HOME_PAGE_DEFAULT_KEY, AXP_LOCALE_MANAGEMENT_PORT, AXP_MENU_MIDDLEWARE, AXP_MENU_PROVIDER, AXP_OUTPUT_CONTRACT_TRANSCRIPT_SEGMENT_PROVIDER, AXP_PLATFORM_CONFIG_TOKEN, AXP_ROOT_CONFIG_TOKEN, AXP_SEARCH_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER, AXP_SETTING_DEFAULT_VALUES_PROVIDERS, AXP_SETTING_DEFINITION_PROVIDER, AXP_SETTING_VALUE_PROVIDER, AXP_STATUS_PROVIDERS, AXP_TOKEN_DEFINITION_PROVIDER, AXVChangeType, BETWEEN_OPER, BOOLEAN_OPERATORS, CONTAINS_OPER, DATE_OPERATORS, DEFAULT_DATE_FILTER_PRESETS, DEFAULT_MULTILANGUAGE_FIELD_NAMES, ENDS_WITH_OPER, ENVIRONMENT, EQ_OPER, GTE_OPER, GT_OPER, IN_OPER, IS_EMPTY_OPER, IS_NOT_EMPTY_OPER, LTE_OPER, LT_OPER, MENU_ITEMS_DATASOURCE_NAME, MULTILANGUAGE_CAPABLE_WIDGET_TYPES, NOT_CONTAINS_OPER, NOT_EQ_OPER, NUMBER_OPERATORS, STARTS_WITH_OPER, STRING_OPERATORS, UploadFromComputerActionProvider, applyDateFilterPreset, coerceAXPSettingRawValue, coerceAXPSettingRawValueByKind, configPlatform, createAllQueryView, createEntityCommandOptions, createEntitySearchCommand, createMenuContext, createMenuMiddleware, createQueryView, findManualPresetIdByOperation, getEntityInfo, getStatusInfo, getSystemStatus, inferSettingCoercionKind, isCardFieldBadgeDisplay, peelSettingValueKey, provideDynamicHomePage, provideMenuMiddleware, resolveCardFieldBadgeColor, resolveDateFilterPresets, resolveDefaultMasterListLayout, resolveEnabledMasterListLayouts, resolveStatusLook, shouldApplyDefaultMultiLanguageToEntityProperty, shouldApplyDefaultMultiLanguageToWidgetNode, shouldApplyDefaultMultiLanguageToWidgetProperty, systemStatusToDefinition, withDefaultMultiLanguageOnWidgetNodeTree, withDefaultMultiLanguageOnWidgetProperty };
3214
- export type { AXCFileUploaderAction, AXCFileUploaderActionsPayload, AXCFileUploaderCapabilities, AXEntityPropertyWidget, AXPAgentOutputContract, AXPAgentOutputKind, AXPAgentResponseFormat, AXPAggregate, AXPAppVersion, AXPAppVersionProvider, AXPApplication, AXPCardBadgeColor, AXPCardBadgeDisplay, AXPCardBadgeDisplayOptions, AXPCardField, AXPCardFieldDisplay, AXPCardFieldDisplayConfig, AXPCategoryEntity, AXPColumnAlign, AXPColumnContentAlign, AXPCommandActionCallback, AXPCommandActionDisplay, AXPCommandActionLook, AXPCommandActionPriority, AXPCommandActionType, AXPCommonModuleConfigs, AXPCurrency, AXPDateTimeFilterPreset, AXPDateTimeFilterPresetKind, AXPDateTimeFilterValue, AXPDomToImageOptions, AXPEntity, AXPEntityAction, AXPEntityCommand, AXPEntityDetailListView, AXPEntityDisplayField, AXPEntityMasterCreateLayoutView, AXPEntityMasterLayoutView, AXPEntityMasterListDisplayMode, AXPEntityMasterListLayoutOption, AXPEntityMasterListLayoutType, AXPEntityMasterListView, AXPEntityMasterSingleLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityPage, AXPEntityProperty, AXPEntityPropertyCreateView, AXPEntityPropertyGroup, AXPEntityPropertyLayoutConfig, AXPEntityPropertyUpdateView, AXPEntityPropertyView, AXPEntityQuery, AXPEntityQuickCreate, AXPEntitySectionView, AXPEntityTableColumn, AXPEntityV2, AXPEntityVersionHistory, AXPErrorHandler, AXPFileActionProvider, AXPFileActionProviderToken, AXPFileExtension, AXPFileManyStorageInfo, AXPFileStorageCreateRequest, AXPFileStorageFindRequest, AXPFileStorageInfo, AXPFileStorageUpdateRequest, AXPFileType, AXPFileTypeInfoProvider, AXPFilterOperator, AXPGeoLocation, AXPGroupSearchResult, AXPHomePageDefinition, AXPJsonSchemaLike, AXPLanguage, AXPLocaleManagementPort, AXPLocaleProfile, AXPLockGetInfoRequest, AXPLockInfo, AXPLockRequest, AXPLockType, AXPMenuFinderResult, AXPMenuInsertion, AXPMenuItem, AXPMenuItemCommand, AXPMenuItemFinder, AXPMenuItemWithParent, AXPMenuMiddleware, AXPMenuMiddlewareContext, AXPMenuMiddlewareProvider, AXPMenuProvider, AXPMenuProviderContext, AXPMenuType, AXPModule, AXPOutputContractTranscriptSegmentDefinition, AXPOutputContractTranscriptSegmentProvider, AXPOutputContractTranscriptSegmentProviderToken, AXPOutputTranscriptSegmentId, AXPPlatformConfigs, AXPQueryFilter, AXPQuerySort, AXPQueryView, AXPRelatedEntity, AXPRelationship, AXPRootConfigs, AXPSearchAction, AXPSearchDefinition, AXPSearchDefinitionDisplayFormat, AXPSearchDefinitionProvider, AXPSearchDisplayGroupResult, AXPSearchDisplayResult, AXPSearchDisplayResultForSave, AXPSearchParentResult, AXPSearchProvider, AXPSearchResult, AXPSettingChangedEvent, AXPSettingCoercionKind, AXPSettingDefaultValuesProvider, AXPSettingDefinition, AXPSettingDefinitionGroup, AXPSettingDefinitionProvider, AXPSettingDefinitionSection, AXPSettingLayoutOptions, AXPSettingMergedDefaults, AXPSettingValue, AXPSettingValueProvider, AXPSettingsServiceInterface, AXPStatusDefinition, AXPStatusTransition, AXPTimeZone, AXPTokenDefinition, AXPTokenDefinitionProvider, AXPTokenDefinitionProviderToken, AXPUnLockRequest, AXPVersionChange, AXPVersionEntry, AXPVersionStream, CanonicalChange, CanonicalChangeOp, VersionedFileInfo };
3845
+ export { ALL_DEFAULT_OPERATORS, AXMWorkflowErrorHandler, AXPAppVersionService, AXPBackgroundOperationCompletionService, AXPBackgroundOperationEntityStoreService, AXPBackgroundOperationHandler, AXPBackgroundOperationNotificationService, AXPBackgroundOperationProvider, AXPBackgroundOperationRootConfig, AXPBackgroundOperationService, AXPBackgroundOperationSlotComponent, AXPCleanNestedFilters, AXPClipBoardService, AXPCommonModule, AXPCommonSettings, AXPCustomOperatorService, AXPCustomOperatorServiceImpl, AXPDataProvider, AXPDebugService, AXPDefaultMultiLanguageConfigService, AXPDialogConfirmAction, AXPEntityCommandScope, AXPEntityQueryType, AXPEntityType, AXPErrorHandlerRegistryService, AXPExportService, AXPFileActionsService, AXPFileStorageEvaluatorScopeProvider, AXPFileStorageService, AXPFileStorageStatus, AXPFileTypeProviderService, AXPFilterOperatorMiddlewareService, AXPFilterOperatorMiddlewareServiceImpl, AXPFooterTextSlotComponent, AXPGlobalErrorHandler, AXPHomePageModule, AXPHomePageService, AXPKeyboardShortcutsHelpComponent, AXPKeyboardShortcutsHelpService, AXPLockService, AXPMenuItemsDataSourceDefinition, AXPMenuKeyboardShortcutService, AXPMenuMiddlewareRegistry, AXPMenuProviderService, AXPMenuRouteAccessService, AXPMenuRouteGuard, AXPMenuSearchDefinitionProvider, AXPMenuSearchProvider, AXPMenuService, AXPMenuVisibilityService, AXPNavBarSlotComponent, AXPNavigateWorkflow, AXPNotFoundCatchAllRoute, AXPNotFoundError, AXPOutputContractTranscriptSegmentService, AXPPlatformDefaultConfigs, AXPRedirectEvent, AXPRefreshEvent, AXPRegionalCalendarService, AXPRegionalSetting, AXPRelationshipCardinality, AXPRelationshipKind, AXPReloadAction, AXPReloadEvent, AXPSearchCommandProvider, AXPSearchDefinitionActionBuilder, AXPSearchDefinitionBuilder, AXPSearchDefinitionProviderContext, AXPSearchDefinitionProviderService, AXPSearchService, AXPSettingDefaultValuesAggregatorService, AXPSettingDefinitionGroupBuilder, AXPSettingDefinitionProviderContext, AXPSettingDefinitionProviderService, AXPSettingDefinitionSectionBuilder, AXPSettingsEvaluatorScopeProvider, AXPSettingsService, AXPStatusDefinitionProviderService, AXPStatusProvider, AXPStickyDirective, AXPSystemStatusType, AXPSystemStatuses, AXPToastAction, AXPTokenDefinitionService, AXPTokenEvaluatorScopeProvider, AXPUnsavedChangesConfirmService, AXPUnsavedChangesPopstateService, AXPVersioningService, AXPWorkflowNavigateAction, AXPWorkflowRouterNavigateAction, AXP_AGENT_OUTPUT_CONTRACT_DEFAULT_STRUCTURED_RETRIES, AXP_APP_VERSION_PROVIDER, AXP_BACKGROUND_OPERATION_ENTITY_STORAGE, AXP_BACKGROUND_OPERATION_HANDLERS, AXP_BACKGROUND_OPERATION_PROVIDERS, AXP_FILE_ACTION_PROVIDER, AXP_FILE_TYPE_INFO_PROVIDER, AXP_HOME_PAGES, AXP_HOME_PAGE_DEFAULT_KEY, AXP_IN_APP_NOTIFICATION_SERVICE, AXP_LOCALE_MANAGEMENT_PORT, AXP_MENU_MIDDLEWARE, AXP_MENU_PROVIDER, AXP_NOT_FOUND_CATCH_ALL_ROUTE, AXP_NOT_FOUND_ROUTE, AXP_OUTPUT_CONTRACT_TRANSCRIPT_SEGMENT_PROVIDER, AXP_PLATFORM_CONFIG_TOKEN, AXP_PROTECTED_ROUTE_GUARDS, AXP_ROOT_CONFIG_TOKEN, AXP_SEARCH_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER, AXP_SETTING_DEFAULT_VALUES_PROVIDERS, AXP_SETTING_DEFINITION_PROVIDER, AXP_SETTING_VALUE_PROVIDER, AXP_STATUS_PROVIDERS, AXP_TOKEN_DEFINITION_PROVIDER, AXP_UNAUTHORIZED_ROUTE, AXVChangeType, BETWEEN_OPER, BOOLEAN_OPERATORS, CONTAINS_OPER, DATE_OPERATORS, DEFAULT_DATE_FILTER_PRESETS, DEFAULT_MULTILANGUAGE_FIELD_NAMES, ENDS_WITH_OPER, ENVIRONMENT, EQ_OPER, GTE_OPER, GT_OPER, IN_OPER, IS_EMPTY_OPER, IS_NOT_EMPTY_OPER, LTE_OPER, LT_OPER, MENU_ITEMS_DATASOURCE_NAME, MULTILANGUAGE_CAPABLE_WIDGET_TYPES, NOT_CONTAINS_OPER, NOT_EQ_OPER, NUMBER_OPERATORS, STARTS_WITH_OPER, STRING_OPERATORS, UploadFromComputerActionProvider, applyDateFilterPreset, axpBackgroundOperationCapabilities, axpBackgroundOperationDisplayTime, axpBackgroundOperationEntityName, axpBackgroundOperationEstimateEndDate, axpBackgroundOperationFailurePolicy, axpBackgroundOperationFromEntityModel, axpBackgroundOperationRemainingMs, axpBackgroundOperationToEntityModel, axpBuildBackgroundOperation, axpCoerceBackgroundOperationDate, axpCreateBackgroundOperationId, axpFindMenuItemByRoute, axpIsActiveBackgroundOperationStatus, axpIsCompletedBackgroundOperationStatus, axpIsEntityDetailsPath, axpIsEntityDetailsViewRoute, axpIsEntityListPath, axpIsEntityListRoute, axpIsEntityRecordNotFound, axpMenuPathsMatch, axpNavigateAppPath, axpParseAppPath, axpRedirectToNotFound, axpRedirectToUnauthorized, axpReplaceEntityListRouteQueryParams, backgroundOperationEntityFactory, buildEntitySearchTitleContext, coerceAXPSettingRawValue, coerceAXPSettingRawValueByKind, configPlatform, createAllQueryView, createBackgroundOperationStore, createEntityCommandOptions, createEntityRowExpressionScope, createEntitySearchCommand, createMenuContext, createMenuMiddleware, createQueryView, createUnsavedChangesCanDeactivateGuard, evaluateEntityDisplayTemplate, findManualPresetIdByOperation, getEntityInfo, getStatusInfo, getSystemStatus, inferSettingCoercionKind, isCardFieldBadgeDisplay, isMeaningfulEntityDisplayTitle, isUnresolvedEntityDisplayTemplate, normalizeEntityDisplayTemplate, peelSettingValueKey, provideDynamicHomePage, provideMenuMiddleware, resolveCardFieldBadgeColor, resolveDateFilterPresets, resolveDefaultMasterListLayout, resolveEnabledMasterListLayouts, resolveEntityRowTitleTemplate, resolveEntitySearchTitleFallback, resolveQueryMatchingDisplayText, resolveSearchDisplayTemplate, resolveSearchableText, resolveStatusLook, sanitizeResolvedEntityDisplayTitle, searchInRecordValues, searchInSearchableValue, shouldApplyDefaultMultiLanguageToEntityProperty, shouldApplyDefaultMultiLanguageToWidgetNode, shouldApplyDefaultMultiLanguageToWidgetProperty, systemStatusToDefinition, withDefaultMultiLanguageOnWidgetNodeTree, withDefaultMultiLanguageOnWidgetProperty };
3846
+ export type { AXCFileUploaderAction, AXCFileUploaderActionsPayload, AXCFileUploaderCapabilities, AXEntityPropertyWidget, AXPAgentOutputContract, AXPAgentOutputKind, AXPAgentResponseFormat, AXPAggregate, AXPAppPathParts, AXPAppVersion, AXPAppVersionProvider, AXPApplication, AXPBackgroundOperation, AXPBackgroundOperationActionKey, AXPBackgroundOperationCapabilities, AXPBackgroundOperationCreateRequest, AXPBackgroundOperationEntityModel, AXPBackgroundOperationEntityStorageAdapter, AXPBackgroundOperationError, AXPBackgroundOperationFailureMode, AXPBackgroundOperationFailurePolicy, AXPBackgroundOperationProviderStore, AXPBackgroundOperationStatus, AXPCardBadgeColor, AXPCardBadgeDisplay, AXPCardBadgeDisplayOptions, AXPCardField, AXPCardFieldDisplay, AXPCardFieldDisplayConfig, AXPCategoryEntity, AXPColumnAlign, AXPColumnContentAlign, AXPCommandActionCallback, AXPCommandActionDisplay, AXPCommandActionLook, AXPCommandActionPriority, AXPCommandActionType, AXPCommonModuleConfigs, AXPCurrency, AXPDateTimeFilterPreset, AXPDateTimeFilterPresetKind, AXPDateTimeFilterValue, AXPDomToImageOptions, AXPEntity, AXPEntityAction, AXPEntityCommand, AXPEntityDetailListView, AXPEntityDisplayField, AXPEntityMasterCreateLayoutView, AXPEntityMasterLayoutView, AXPEntityMasterListDisplayMode, AXPEntityMasterListLayoutOption, AXPEntityMasterListLayoutType, AXPEntityMasterListView, AXPEntityMasterSingleLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityPage, AXPEntityProperty, AXPEntityPropertyCreateView, AXPEntityPropertyGroup, AXPEntityPropertyLayoutConfig, AXPEntityPropertyUpdateView, AXPEntityPropertyView, AXPEntityQuery, AXPEntityQuickCreate, AXPEntitySearchTitleContext, AXPEntitySectionView, AXPEntityTableColumn, AXPEntityV2, AXPEntityVersionHistory, AXPErrorHandler, AXPFileActionProvider, AXPFileActionProviderToken, AXPFileExtension, AXPFileManyStorageInfo, AXPFileStorageCreateRequest, AXPFileStorageFindRequest, AXPFileStorageInfo, AXPFileStorageUpdateRequest, AXPFileType, AXPFileTypeInfoProvider, AXPFilterOperator, AXPGeoLocation, AXPGroupSearchResult, AXPHomePageDefinition, AXPInAppNotificationCreateRequest, AXPInAppNotificationPriority, AXPInAppNotificationService, AXPJsonSchemaLike, AXPLanguage, AXPLocaleManagementPort, AXPLocaleProfile, AXPLockGetInfoRequest, AXPLockInfo, AXPLockRequest, AXPLockType, AXPMenuFinderResult, AXPMenuInsertion, AXPMenuItem, AXPMenuItemCommand, AXPMenuItemFinder, AXPMenuItemWithParent, AXPMenuMiddleware, AXPMenuMiddlewareContext, AXPMenuMiddlewareProvider, AXPMenuProvider, AXPMenuProviderContext, AXPMenuRouteMatchResult, AXPMenuType, AXPModule, AXPOutputContractTranscriptSegmentDefinition, AXPOutputContractTranscriptSegmentProvider, AXPOutputContractTranscriptSegmentProviderToken, AXPOutputTranscriptSegmentId, AXPPlatformConfigs, AXPQueryFilter, AXPQuerySort, AXPQueryView, AXPRelatedEntity, AXPRelationship, AXPRootConfigs, AXPSearchAction, AXPSearchDefinition, AXPSearchDefinitionDisplayFormat, AXPSearchDefinitionProvider, AXPSearchDisplayGroupResult, AXPSearchDisplayResult, AXPSearchDisplayResultForSave, AXPSearchParentResult, AXPSearchProvider, AXPSearchResult, AXPSettingChangedEvent, AXPSettingCoercionKind, AXPSettingDefaultValuesProvider, AXPSettingDefinition, AXPSettingDefinitionGroup, AXPSettingDefinitionProvider, AXPSettingDefinitionSection, AXPSettingLayoutOptions, AXPSettingMergedDefaults, AXPSettingValue, AXPSettingValueProvider, AXPSettingsServiceInterface, AXPStatusDefinition, AXPStatusTransition, AXPTimeZone, AXPTokenDefinition, AXPTokenDefinitionProvider, AXPTokenDefinitionProviderToken, AXPUnLockRequest, AXPUnsavedChangesCanDeactivate, AXPUnsavedChangesConfirmOptions, AXPUnsavedChangesPopstateSource, AXPVersionChange, AXPVersionEntry, AXPVersionStream, CanonicalChange, CanonicalChangeOp, VersionedFileInfo };