@acorex/platform 21.0.0-next.3 → 21.0.0-next.33

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 (117) hide show
  1. package/fesm2022/acorex-platform-auth.mjs +295 -45
  2. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  3. package/fesm2022/{acorex-platform-common-common-settings.provider-zhqNP3xb.mjs → acorex-platform-common-common-settings.provider-G9XcXXOG.mjs} +60 -4
  4. package/fesm2022/acorex-platform-common-common-settings.provider-G9XcXXOG.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-common.mjs +960 -319
  6. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-core.mjs +1352 -832
  8. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-domain.mjs +554 -826
  10. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-layout-builder.mjs +530 -154
  12. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs +121 -0
  14. package/fesm2022/acorex-platform-layout-components-binding-expression-editor-popup.component-CXEdvDTf.mjs.map +1 -0
  15. package/fesm2022/acorex-platform-layout-components.mjs +5969 -2347
  16. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-designer.mjs +169 -154
  18. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-layout-entity.mjs +15380 -9274
  20. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-layout-views.mjs +393 -110
  22. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-layout-widget-core.mjs +511 -450
  24. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  25. package/fesm2022/{acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.mjs → acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs} +10 -10
  26. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-Dy7jF-oD.mjs.map +1 -0
  27. package/fesm2022/{acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs → acorex-platform-layout-widgets-file-list-popup.component-9uCkMxcc.mjs} +39 -16
  28. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-9uCkMxcc.mjs.map +1 -0
  29. package/fesm2022/{acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs → acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs} +6 -7
  30. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-C_EPAvCU.mjs.map +1 -0
  31. package/fesm2022/{acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs → acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs} +12 -12
  32. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs.map +1 -0
  33. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGQqY5Mw.mjs +111 -0
  34. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-BGQqY5Mw.mjs.map +1 -0
  35. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs} +6 -6
  36. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-DmzNTYiS.mjs.map +1 -0
  37. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs → acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs} +5 -5
  38. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-BNG_588B.mjs.map +1 -0
  39. package/fesm2022/{acorex-platform-layout-widgets-text-block-widget-designer.component-Df1BFkSa.mjs → acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs} +6 -6
  40. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Vo4fWHtX.mjs.map +1 -0
  41. package/fesm2022/acorex-platform-layout-widgets.mjs +7865 -4026
  42. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  43. package/fesm2022/acorex-platform-native.mjs +8 -7
  44. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  45. package/fesm2022/acorex-platform-runtime.mjs +220 -169
  46. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  47. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs +160 -0
  48. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs.map +1 -0
  49. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs +120 -0
  50. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs.map +1 -0
  51. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-eMBby9k4.mjs → acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.mjs} +18 -25
  52. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.mjs.map +1 -0
  53. package/fesm2022/{acorex-platform-themes-default-error-401.component-cfREo88K.mjs → acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs} +4 -4
  54. package/fesm2022/acorex-platform-themes-default-error-401.component-C7EYJzSr.mjs.map +1 -0
  55. package/fesm2022/{acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs → acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs} +4 -4
  56. package/fesm2022/acorex-platform-themes-default-error-404.component-7MVLMwIa.mjs.map +1 -0
  57. package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs +19 -0
  58. package/fesm2022/acorex-platform-themes-default-error-offline.component-DR6G8gPC.mjs.map +1 -0
  59. package/fesm2022/acorex-platform-themes-default.mjs +1717 -66
  60. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  61. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs → acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs} +6 -6
  62. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-CqkWJYdv.mjs.map +1 -0
  63. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs → acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs} +6 -6
  64. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-BOTuLdWN.mjs.map +1 -0
  65. package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +1 -1
  66. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs} +11 -11
  67. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs.map +1 -0
  68. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-BSmvnUVq.mjs} +9 -9
  69. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BSmvnUVq.mjs.map +1 -0
  70. package/fesm2022/acorex-platform-themes-shared.mjs +563 -561
  71. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  72. package/fesm2022/acorex-platform-workflow.mjs +1735 -1750
  73. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  74. package/fesm2022/acorex-platform.mjs.map +1 -1
  75. package/package.json +31 -31
  76. package/{auth/index.d.ts → types/acorex-platform-auth.d.ts} +247 -10
  77. package/{common/index.d.ts → types/acorex-platform-common.d.ts} +492 -31
  78. package/{core/index.d.ts → types/acorex-platform-core.d.ts} +606 -392
  79. package/{domain/index.d.ts → types/acorex-platform-domain.d.ts} +719 -413
  80. package/{layout/builder/index.d.ts → types/acorex-platform-layout-builder.d.ts} +128 -56
  81. package/types/acorex-platform-layout-components.d.ts +2927 -0
  82. package/{layout/designer/index.d.ts → types/acorex-platform-layout-designer.d.ts} +9 -3
  83. package/{layout/entity/index.d.ts → types/acorex-platform-layout-entity.d.ts} +1133 -237
  84. package/{layout/views/index.d.ts → types/acorex-platform-layout-views.d.ts} +90 -31
  85. package/{layout/widget-core/index.d.ts → types/acorex-platform-layout-widget-core.d.ts} +206 -102
  86. package/{layout/widgets/index.d.ts → types/acorex-platform-layout-widgets.d.ts} +942 -137
  87. package/{native/index.d.ts → types/acorex-platform-native.d.ts} +0 -7
  88. package/{runtime/index.d.ts → types/acorex-platform-runtime.d.ts} +237 -74
  89. package/{themes/default/index.d.ts → types/acorex-platform-themes-default.d.ts} +113 -5
  90. package/{themes/shared/index.d.ts → types/acorex-platform-themes-shared.d.ts} +1 -1
  91. package/types/acorex-platform-workflow.d.ts +1806 -0
  92. package/fesm2022/acorex-platform-common-common-settings.provider-zhqNP3xb.mjs.map +0 -1
  93. package/fesm2022/acorex-platform-layout-widgets-button-widget-designer.component-C3VoBb_b.mjs.map +0 -1
  94. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CxrsI6Hn.mjs.map +0 -1
  95. package/fesm2022/acorex-platform-layout-widgets-image-preview.popup-V31OpYah.mjs.map +0 -1
  96. package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-BtZMBxYp.mjs.map +0 -1
  97. package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-Ck7-wpT2.mjs.map +0 -1
  98. package/fesm2022/acorex-platform-layout-widgets-tabular-data-view-popup.component-y8vjUiVs.mjs.map +0 -1
  99. package/fesm2022/acorex-platform-layout-widgets-text-block-widget-designer.component-Df1BFkSa.mjs.map +0 -1
  100. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs +0 -157
  101. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-VIGuU5M4.mjs.map +0 -1
  102. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DyDa_hyd.mjs +0 -1542
  103. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DyDa_hyd.mjs.map +0 -1
  104. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs +0 -101
  105. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Ua3ZA5hk.mjs.map +0 -1
  106. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-eMBby9k4.mjs.map +0 -1
  107. package/fesm2022/acorex-platform-themes-default-error-401.component-cfREo88K.mjs.map +0 -1
  108. package/fesm2022/acorex-platform-themes-default-error-404.component-CdCV5ZoA.mjs.map +0 -1
  109. package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs +0 -19
  110. package/fesm2022/acorex-platform-themes-default-error-offline.component-E7SzBcAt.mjs.map +0 -1
  111. package/fesm2022/acorex-platform-themes-shared-icon-chooser-column.component-C0EpfU2k.mjs.map +0 -1
  112. package/fesm2022/acorex-platform-themes-shared-icon-chooser-view.component-9W52W6Nu.mjs.map +0 -1
  113. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-DTnfRy5f.mjs.map +0 -1
  114. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-DY0JtT1v.mjs.map +0 -1
  115. package/layout/components/index.d.ts +0 -1669
  116. package/workflow/index.d.ts +0 -2443
  117. /package/{index.d.ts → types/acorex-platform.d.ts} +0 -0
@@ -1,7 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Type, InjectionToken, OnInit, ElementRef, EventEmitter, OnChanges, Renderer2, SimpleChanges, ViewContainerRef, OnDestroy, Injector, PipeTransform } from '@angular/core';
2
+ import { Type, InjectionToken, OnInit, ViewContainerRef, ModuleWithProviders, ElementRef, EventEmitter, OnChanges, Renderer2, SimpleChanges, OnDestroy, Injector, PipeTransform, Provider } from '@angular/core';
3
3
  import { AXStyleColorType, AXDataSource, AXDataSourceSortOption, AXDataSourceFilterOption, AXDataSourceQuery, AXDataSourceCallbackResult } from '@acorex/cdk/common';
4
4
  import * as _ngrx_signals from '@ngrx/signals';
5
+ import * as _acorex_platform_core from '@acorex/platform/core';
5
6
  import { Observable } from 'rxjs';
6
7
  import { NavigationExtras } from '@angular/router';
7
8
 
@@ -899,7 +900,7 @@ declare function getActionButton(actionType: string): {
899
900
  interface AXPColumnQuery {
900
901
  name: string;
901
902
  title: string;
902
- visible: boolean;
903
+ visible: boolean | string;
903
904
  }
904
905
 
905
906
  type AXPPartialNested<T> = {
@@ -907,6 +908,17 @@ type AXPPartialNested<T> = {
907
908
  };
908
909
  declare function getNestedKeys(obj: any, prefix?: string): string[];
909
910
  type AXPExpression = string;
911
+ /**
912
+ * Plain or rich text that may be localized: a single string or a map of locale code to string.
913
+ * Use when multi-language editing stores `Record<locale, string>` instead of one string.
914
+ *
915
+ * @example Single value (one locale or shared text)
916
+ * `"<p>Pick one</p>"`
917
+ *
918
+ * @example Per-locale map (e.g. after multi-language editor save)
919
+ * `{ "en-US": "<p>Pick one</p>", "fa-IR": "<p>یکی را انتخاب کنید</p>" }`
920
+ */
921
+ type AXPMultiLanguageString = string | Record<string, string>;
910
922
  type AXPMetaData = Record<string, any>;
911
923
  type AXPOptionsData<T extends Record<string, unknown> = Record<string, any>> = T;
912
924
  interface AXPValueUnit {
@@ -943,8 +955,10 @@ interface AXPContent {
943
955
  content: string;
944
956
  contentType: AXPContentType;
945
957
  }
958
+ type AXPMaybePromise<T = unknown> = T | Promise<T>;
946
959
 
947
960
  type AXPDataSource = string | AXDataSource | any[];
961
+ type AXPDataType = 'string' | 'number' | 'boolean' | 'date' | 'object' | 'array' | 'blob';
948
962
  interface AXPPagedListResult<T = any> {
949
963
  items: T[];
950
964
  total: number;
@@ -958,31 +972,142 @@ interface AXPQueryRequest {
958
972
  [key: string]: string;
959
973
  };
960
974
  }
961
- type AXPDataType = 'string' | 'number' | 'object' | 'boolean' | 'array';
975
+ /**
976
+ * Category Entity - Base interface for hierarchical category structures
977
+ *
978
+ * This interface provides a standardized data model for category entities across the platform.
979
+ * All category entities (e.g., ReportCategory, ActivityCategory, WorkflowCategory) extend this interface
980
+ * to ensure consistency in data structure and field names.
981
+ *
982
+ * @template TKey - The type of the identifier key (default: string)
983
+ *
984
+ * @example
985
+ * ```typescript
986
+ * const category: AXPCategoryEntity = {
987
+ * id: 'cat-001',
988
+ * title: 'Electronics',
989
+ * description: 'Electronic products',
990
+ * parentId: undefined, // Root category
991
+ * childrenCount: 2, // Has 2 direct child categories
992
+ * itemsCount: 5, // Has 5 items directly in this category
993
+ * totalChildrenCount: 6, // Total of 6 nested categories (including grandchildren)
994
+ * totalItemsCount: 23 // Total of 23 items in entire category tree
995
+ * };
996
+ * ```
997
+ */
962
998
  interface AXPCategoryEntity<TKey = string> {
999
+ /** Unique identifier for the category */
963
1000
  id: TKey;
964
- title: string;
965
- description?: string;
1001
+ /** Display name of the category (required) */
1002
+ title: AXPMultiLanguageString;
1003
+ /** Optional description of the category */
1004
+ description?: AXPMultiLanguageString;
1005
+ /** Parent category ID (undefined for root categories) */
966
1006
  parentId?: TKey;
1007
+ /**
1008
+ * Count of direct child categories only (not recursive)
1009
+ *
1010
+ * Used by UI components to determine if a category has children and should show an expand icon.
1011
+ * This enables efficient lazy loading - components can check this property without querying the API.
1012
+ *
1013
+ * @example
1014
+ * - Category with 2 direct children: `childrenCount: 2`
1015
+ * - Leaf category (no children): `childrenCount: 0`
1016
+ *
1017
+ * @remarks
1018
+ * - Always set to `0` for leaf categories
1019
+ * - Does not include grandchildren or nested descendants
1020
+ * - Automatically maintained by middleware for category entities
1021
+ */
967
1022
  childrenCount: number;
1023
+ /**
1024
+ * Count of items directly assigned to this category (not recursive)
1025
+ *
1026
+ * Represents the number of items (e.g., reports, activities, workflows) that are directly
1027
+ * assigned to this category. Does not include items from child categories.
1028
+ *
1029
+ * Useful for:
1030
+ * - Displaying item counts per category in UI (e.g., "5 reports" badge)
1031
+ * - Optimizing queries (skip API call if itemsCount === 0)
1032
+ * - Showing category statistics
1033
+ *
1034
+ * @example
1035
+ * - Category with 5 reports directly assigned: `itemsCount: 5`
1036
+ * - Category with no direct items: `itemsCount: 0` or `undefined`
1037
+ *
1038
+ * @remarks
1039
+ * - Does not include items from child categories
1040
+ * - Can be calculated dynamically or stored
1041
+ * - Optional - may be undefined if not needed
1042
+ */
968
1043
  itemsCount?: number;
969
- totalChildren?: number;
970
- totalItems?: number;
1044
+ /**
1045
+ * Recursive count of all nested child categories (includes all descendants)
1046
+ *
1047
+ * Represents the total number of categories in the entire subtree starting from this category.
1048
+ * Includes children, grandchildren, and all nested descendants.
1049
+ *
1050
+ * Useful for:
1051
+ * - Analytics and summary displays
1052
+ * - Showing complete category tree scope
1053
+ * - Performance metrics
1054
+ *
1055
+ * @example
1056
+ * Root category with:
1057
+ * - 2 direct children
1058
+ * - Each child has 2 children (4 grandchildren)
1059
+ * Result: `totalChildrenCount: 6` (2 + 4)
1060
+ *
1061
+ * @remarks
1062
+ * - Optional - typically used for analytics
1063
+ * - Includes all nested levels (recursive)
1064
+ * - Can be expensive to calculate for large trees
1065
+ */
1066
+ totalChildrenCount?: number;
1067
+ /**
1068
+ * Recursive count of all items in this category and all descendants
1069
+ *
1070
+ * Represents the total number of items (e.g., reports, activities, workflows) in the entire
1071
+ * category tree, including items from this category and all nested child categories.
1072
+ *
1073
+ * Useful for:
1074
+ * - Analytics and summary displays
1075
+ * - Showing complete scope of a category branch
1076
+ * - Dashboard statistics
1077
+ *
1078
+ * @example
1079
+ * Category with:
1080
+ * - 5 items directly assigned
1081
+ * - 1 child category with 3 items
1082
+ * Result: `totalItemsCount: 8` (5 + 3)
1083
+ *
1084
+ * @remarks
1085
+ * - Optional - typically used for analytics
1086
+ * - Includes items from all nested categories (recursive)
1087
+ * - Can be expensive to calculate for large trees
1088
+ */
1089
+ totalItemsCount?: number;
971
1090
  }
972
1091
  interface AXPCategoryEntityWithItems<T> extends AXPCategoryEntity {
973
1092
  items: T[];
974
1093
  children?: AXPCategoryEntityWithItems<T>[];
975
1094
  }
1095
+ /**
1096
+ * Denormalized category row on entities and DTOs (id + localized display title).
1097
+ * Use for `categories` arrays expanded from {@link AXPCategoryEntity} assignments.
1098
+ */
1099
+ interface AXPCategoryListItem<TKey extends string = string> {
1100
+ id: TKey;
1101
+ title: AXPMultiLanguageString;
1102
+ }
976
1103
  interface AXPCategorizedEntity {
977
1104
  categoryIds: string[];
978
1105
  }
979
1106
  interface AXPCategorizedEntityDto {
980
1107
  categoryIds: string[];
981
- categories: {
982
- id: string;
983
- title: string;
984
- }[];
1108
+ categories: AXPCategoryListItem[];
985
1109
  }
1110
+ type AXPEntityOp = 'initial' | 'create' | 'update' | 'delete' | 'getOne' | 'getAll' | 'query';
986
1111
 
987
1112
  type AXPWidgetTrigger = {
988
1113
  event: string;
@@ -1002,8 +1127,25 @@ interface AXPFileListItem {
1002
1127
  size?: number;
1003
1128
  status: AXPFileStatus;
1004
1129
  source?: AXPFileSource;
1130
+ meta?: AXPMetaData;
1131
+ /**
1132
+ * When true, the item cannot be renamed, removed, or reverted from the UI.
1133
+ * Independent of widget `options.readonly` (widget-level disables all edits); use this for per-row locks from the server.
1134
+ */
1135
+ readOnly?: boolean;
1136
+ title?: string;
1137
+ description?: string;
1005
1138
  }
1006
1139
 
1140
+ /**
1141
+ * Filter toolbar trigger entries (same shape as entity `schema.interface.triggers`).
1142
+ * Declared on `AXPFilterDefinition` and populated when building list filter definitions.
1143
+ */
1144
+ interface AXPFilterTriggerDefinition {
1145
+ event: string;
1146
+ action: string;
1147
+ disabled?: boolean;
1148
+ }
1007
1149
  interface AXPFilterClause extends AXDataSourceFilterOption {
1008
1150
  id?: string;
1009
1151
  order?: number;
@@ -1020,8 +1162,19 @@ interface AXPFilterDefinition extends AXPFilterClause {
1020
1162
  filterType: {
1021
1163
  advance: boolean;
1022
1164
  inline: boolean;
1165
+ preload?: {
1166
+ enabled?: boolean;
1167
+ required?: boolean;
1168
+ };
1023
1169
  };
1024
1170
  hidden?: boolean;
1171
+ /**
1172
+ * When true, the filter is not selectable. When a string, it is evaluated as an expression (e.g. `{{ ... }}`)
1173
+ * using the current filters context.
1174
+ */
1175
+ disabled?: boolean | string;
1176
+ /** Expression-driven triggers (events/actions); same semantics as entity `schema.interface.triggers`. */
1177
+ triggers?: AXPFilterTriggerDefinition[];
1025
1178
  }
1026
1179
  interface AXPFilterQuery extends Pick<AXPFilterDefinition, 'field' | 'value' | 'operator' | 'logic' | 'hidden'> {
1027
1180
  filters?: AXPFilterQuery[];
@@ -1055,6 +1208,12 @@ type AXPBadge = {
1055
1208
  description?: string;
1056
1209
  color?: 'primary' | 'success' | 'warning' | 'danger';
1057
1210
  };
1211
+ type AXPPageStatus = {
1212
+ definitionKey: string;
1213
+ value: string;
1214
+ dataPath?: string;
1215
+ readonly?: boolean;
1216
+ };
1058
1217
  interface AXPCommandMessage {
1059
1218
  type?: 'info' | 'success' | 'warning' | 'error';
1060
1219
  code?: string;
@@ -1145,10 +1304,8 @@ declare class AXPIconLogoConfig implements AXPLogoConfig {
1145
1304
  constructor(icon: string, color?: string | undefined);
1146
1305
  }
1147
1306
 
1148
- type AXPPlatformScopeKey = 'C' | 'G' | 'P' | 'T' | 'U';
1307
+ type AXPPlatformScopeKey = 'P' | 'T' | 'U';
1149
1308
  declare enum AXPPlatformScope {
1150
- Environment = "C",
1151
- Global = "G",
1152
1309
  Platform = "P",
1153
1310
  Tenant = "T",
1154
1311
  User = "U"
@@ -1319,6 +1476,18 @@ interface AXPMiddlewareErrorResponse {
1319
1476
  interface AXPActivityLogChange {
1320
1477
  type: AXPSystemActionType;
1321
1478
  description: string;
1479
+ /** I18n key for field label. When set with actionKey, used for translated display. */
1480
+ fieldKey?: string;
1481
+ /** Params for fieldKey translation (e.g. for unknown-field with {{name}}). */
1482
+ fieldKeyParams?: Record<string, string>;
1483
+ /** I18n key for action (e.g. @activity-log:changes.replaced). When set with fieldKey, overrides description. */
1484
+ actionKey?: string;
1485
+ oldValue?: unknown;
1486
+ newValue?: unknown;
1487
+ /** Short human-readable summary for Change History (e.g. "Updated from 'X' to 'Y'"). Used when layout is present. */
1488
+ summary?: string;
1489
+ /** Custom layout (AXPWidgetNode) for Change History. When set, rendered via AXPLayoutRenderer instead of default fieldKey/actionKey text. */
1490
+ layout?: unknown;
1322
1491
  }
1323
1492
  interface AXPActivityLog {
1324
1493
  id: string;
@@ -1472,6 +1641,173 @@ declare class AXPDefaultColorPalettesProvider extends AXPColorPaletteProvider {
1472
1641
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPDefaultColorPalettesProvider>;
1473
1642
  }
1474
1643
 
1644
+ /**
1645
+ * Column width value can be a number (converted to pixels) or a string with any CSS unit
1646
+ * @example 150 (becomes '150px'), '300px', '50%', '2rem', '20ch'
1647
+ */
1648
+ type ColumnWidthValue = string | number;
1649
+ /**
1650
+ * Matcher for column name - can be exact string match or RegExp pattern
1651
+ * @example 'title', /^user/, /.*name$/i
1652
+ */
1653
+ type ColumnNameMatcher = string | RegExp;
1654
+ /**
1655
+ * Matcher for widget type - can be exact string match or RegExp pattern (case-insensitive)
1656
+ * @example 'text-box', /^date/, /.*editor$/i
1657
+ */
1658
+ type WidgetTypeMatcher = string | RegExp;
1659
+ /**
1660
+ * Defines a single width matching rule
1661
+ */
1662
+ interface AXPColumnWidthMatcher {
1663
+ /**
1664
+ * Match by column name (exact string or RegExp pattern)
1665
+ * Takes precedence over widgetType matching
1666
+ * @example 'title', /^user/, /.*name$/i
1667
+ */
1668
+ name?: ColumnNameMatcher;
1669
+ /**
1670
+ * Match by widget type (exact string or RegExp pattern, case-insensitive)
1671
+ * Used as fallback when name doesn't match
1672
+ * @example 'text-box', /^date/, /.*editor$/i
1673
+ */
1674
+ widgetType?: WidgetTypeMatcher;
1675
+ /**
1676
+ * Width value to apply if this matcher matches
1677
+ * Numbers are converted to pixels (e.g., 150 -> '150px')
1678
+ * Strings can include any CSS unit (e.g., '300px', '50%', '2rem')
1679
+ */
1680
+ width: ColumnWidthValue;
1681
+ /**
1682
+ * Priority for this matcher within the provider (higher = more specific, applied first)
1683
+ * Default: 0
1684
+ */
1685
+ priority?: number;
1686
+ }
1687
+ /**
1688
+ * Provider configuration for column width rules
1689
+ */
1690
+ interface AXPColumnWidthProvider {
1691
+ /**
1692
+ * Array of matchers to evaluate
1693
+ * Evaluated in priority order (highest first), then by match type (name before widgetType)
1694
+ */
1695
+ matchers: AXPColumnWidthMatcher[];
1696
+ /**
1697
+ * Priority for this provider relative to other providers (higher = applied first)
1698
+ * Default: 100
1699
+ */
1700
+ priority?: number;
1701
+ }
1702
+ /**
1703
+ * Generic column interface for width resolution
1704
+ * Works with any column type that has these properties
1705
+ */
1706
+ interface IColumnWithWidth {
1707
+ /**
1708
+ * Column name
1709
+ */
1710
+ name: string;
1711
+ /**
1712
+ * Current width (if already set)
1713
+ */
1714
+ width?: string;
1715
+ /**
1716
+ * Widget type information (optional)
1717
+ */
1718
+ widget?: {
1719
+ type: string;
1720
+ };
1721
+ /**
1722
+ * Additional options that might contain width
1723
+ */
1724
+ options?: {
1725
+ width?: string;
1726
+ };
1727
+ /**
1728
+ * For entity columns - showAs configuration
1729
+ */
1730
+ showAs?: {
1731
+ type: string;
1732
+ };
1733
+ }
1734
+
1735
+ /**
1736
+ * Service for resolving column widths based on registered providers
1737
+ * Supports matching by column name (priority) and widget type (fallback)
1738
+ * Uses multi-provider pattern for extensibility
1739
+ */
1740
+ declare class AXPColumnWidthService {
1741
+ private readonly providers;
1742
+ /**
1743
+ * Resolve width for a column based on registered providers
1744
+ * Only returns a width if column doesn't already have one set
1745
+ *
1746
+ * @param column Column to resolve width for
1747
+ * @returns Resolved width string (normalized) or undefined if no match or column already has width
1748
+ */
1749
+ resolveWidth(column: IColumnWithWidth): string | undefined;
1750
+ /**
1751
+ * Apply resolved width to a column (mutates the column)
1752
+ * Only applies if column doesn't already have a width
1753
+ *
1754
+ * @param column Column to apply width to
1755
+ * @returns true if width was applied, false if column already had width or no match found
1756
+ */
1757
+ applyWidth(column: IColumnWithWidth): boolean;
1758
+ /**
1759
+ * Collect all matchers from all providers, sorted by provider priority and matcher priority
1760
+ */
1761
+ private collectMatchers;
1762
+ /**
1763
+ * Find first matching matcher by column name
1764
+ * Name matches take precedence over widget type matches
1765
+ */
1766
+ private findNameMatch;
1767
+ /**
1768
+ * Find first matching matcher by widget type (case-insensitive)
1769
+ */
1770
+ private findWidgetTypeMatch;
1771
+ /**
1772
+ * Normalize width value to string format
1773
+ * Numbers are converted to pixels (e.g., 150 -> '150px')
1774
+ * Strings are preserved as-is (supports any CSS unit)
1775
+ */
1776
+ private normalizeWidth;
1777
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPColumnWidthService, never>;
1778
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPColumnWidthService>;
1779
+ }
1780
+
1781
+ /**
1782
+ * Injection token for column width providers
1783
+ * Use this to register multiple column width providers with multi: true
1784
+ *
1785
+ * @example
1786
+ * ```typescript
1787
+ * providers: [
1788
+ * {
1789
+ * provide: AXP_COLUMN_WIDTH_PROVIDER,
1790
+ * useValue: {
1791
+ * matchers: [
1792
+ * { name: 'title', width: '300px', priority: 10 },
1793
+ * { widgetType: /text-box/i, width: '200px' }
1794
+ * ],
1795
+ * priority: 150
1796
+ * },
1797
+ * multi: true
1798
+ * }
1799
+ * ]
1800
+ * ```
1801
+ */
1802
+ declare const AXP_COLUMN_WIDTH_PROVIDER: InjectionToken<AXPColumnWidthProvider[]>;
1803
+
1804
+ /**
1805
+ * Default column width configuration
1806
+ * Migrated from DEFAULT_COLUMN_WIDTHS in column-width.middleware.ts
1807
+ * Provides sensible defaults for common column names
1808
+ */
1809
+ declare const defaultColumnWidthProvider: AXPColumnWidthProvider;
1810
+
1475
1811
  type AXPContextState = 'initiated' | 'restored' | 'changed' | 'patch';
1476
1812
  type AXPContextData = {
1477
1813
  [key: string]: any;
@@ -1499,10 +1835,11 @@ declare const AXPContextStore: i0.Type<{
1499
1835
  previous: i0.Signal<{}>;
1500
1836
  changeEvent: i0.Signal<AXPContextChangeEvent>;
1501
1837
  update: (path: string, value: any) => void;
1502
- patch: (context: {}) => void;
1838
+ patch: (context: Record<string, any>, skipDirtyTracking?: boolean) => void;
1503
1839
  reset: () => void;
1504
1840
  set: (initialData: any) => void;
1505
1841
  getValue: (path: string) => any;
1842
+ hasValue: (path: string) => boolean;
1506
1843
  } & _ngrx_signals.StateSource<{
1507
1844
  data: AXPContextData;
1508
1845
  state: AXPContextState;
@@ -1511,6 +1848,93 @@ declare const AXPContextStore: i0.Type<{
1511
1848
  lastChange: AXPContextChangeEvent;
1512
1849
  }>>;
1513
1850
 
1851
+ interface AXPComponentSlotConfig {
1852
+ name: string;
1853
+ priority?: number;
1854
+ component?: Type<any>;
1855
+ condition?: ((context?: AXPContextData) => boolean | Promise<boolean>) | string;
1856
+ features?: string[];
1857
+ loadComponent?: () => Type<any> | Promise<Type<any>>;
1858
+ options?: AXPOptionsData | (() => AXPOptionsData) | (() => Promise<AXPOptionsData>);
1859
+ }
1860
+ interface AXPComponentSlotModuleConfigs {
1861
+ [slotName: string]: AXPComponentSlotConfig[];
1862
+ }
1863
+ declare abstract class AXPComponentSlot {
1864
+ host: any;
1865
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPComponentSlot, never>;
1866
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AXPComponentSlot, never, never, {}, {}, never, never, true, never>;
1867
+ }
1868
+
1869
+ declare class AXPComponentSlotDirective implements OnInit {
1870
+ name: i0.InputSignal<string>;
1871
+ host: i0.InputSignal<any>;
1872
+ context: i0.InputSignal<any>;
1873
+ private elementRef;
1874
+ private registryService;
1875
+ private injector;
1876
+ private evaluator;
1877
+ viewContainerRef: ViewContainerRef;
1878
+ contextStore: {
1879
+ data: i0.Signal<AXPContextData>;
1880
+ state: i0.Signal<_acorex_platform_core.AXPContextState>;
1881
+ initialSnapshot: i0.Signal<{}>;
1882
+ previousSnapshot: i0.Signal<{}>;
1883
+ lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
1884
+ isChanged: i0.Signal<boolean>;
1885
+ isReset: i0.Signal<boolean>;
1886
+ isInitiated: i0.Signal<boolean>;
1887
+ isEmpty: i0.Signal<boolean>;
1888
+ isDirty: i0.Signal<boolean>;
1889
+ snapshot: i0.Signal<AXPContextData>;
1890
+ initial: i0.Signal<{}>;
1891
+ previous: i0.Signal<{}>;
1892
+ changeEvent: i0.Signal<_acorex_platform_core.AXPContextChangeEvent>;
1893
+ update: (path: string, value: any) => void;
1894
+ patch: (context: Record<string, any>, skipDirtyTracking?: boolean) => void;
1895
+ reset: () => void;
1896
+ set: (initialData: any) => void;
1897
+ getValue: (path: string) => any;
1898
+ hasValue: (path: string) => boolean;
1899
+ } & _ngrx_signals.StateSource<{
1900
+ data: AXPContextData;
1901
+ state: _acorex_platform_core.AXPContextState;
1902
+ initialSnapshot: {};
1903
+ previousSnapshot: {};
1904
+ lastChange: _acorex_platform_core.AXPContextChangeEvent;
1905
+ }>;
1906
+ isEmpty: i0.Signal<boolean>;
1907
+ private _viewCount;
1908
+ private componentRefs;
1909
+ private placeholderRefs;
1910
+ constructor();
1911
+ ngOnInit(): Promise<void>;
1912
+ loadComponents(): Promise<void>;
1913
+ private evaluateCondition;
1914
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPComponentSlotDirective, never>;
1915
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AXPComponentSlotDirective, "axp-component-slot", ["slot"], { "name": { "alias": "name"; "required": true; "isSignal": true; }; "host": { "alias": "host"; "required": false; "isSignal": true; }; "context": { "alias": "context"; "required": false; "isSignal": true; }; }, {}, never, never, false, never>;
1916
+ }
1917
+
1918
+ declare class AXPComponentSlotRegistryService {
1919
+ private registry;
1920
+ register(slotName: string, config: AXPComponentSlotConfig): void;
1921
+ get(slotName: string): AXPComponentSlotConfig[];
1922
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPComponentSlotRegistryService, never>;
1923
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPComponentSlotRegistryService>;
1924
+ }
1925
+
1926
+ declare class AXPComponentSlotModule {
1927
+ static forRoot(configs?: AXPComponentSlotModuleConfigs): ModuleWithProviders<AXPComponentSlotModule>;
1928
+ static forChild(configs?: AXPComponentSlotModuleConfigs): ModuleWithProviders<AXPComponentSlotModule>;
1929
+ /**
1930
+ * @ignore
1931
+ */
1932
+ constructor(instances: any[]);
1933
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPComponentSlotModule, [{ optional: true; }]>;
1934
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXPComponentSlotModule, [typeof AXPComponentSlotDirective], never, [typeof AXPComponentSlotDirective]>;
1935
+ static ɵinj: i0.ɵɵInjectorDeclaration<AXPComponentSlotModule>;
1936
+ }
1937
+
1514
1938
  declare class AXPDataGenerator {
1515
1939
  static uuid(): string;
1516
1940
  static number(max: number): number;
@@ -1554,6 +1978,11 @@ interface AXPDataSourceDataFieldDefinition {
1554
1978
  type: string;
1555
1979
  options?: AXPOptionsData;
1556
1980
  }
1981
+ type AXPLazyDataSource<T = unknown> = AXPMaybePromise<AXDataSource<T>>;
1982
+ type AXPDataSourceArray<T = unknown> = AXPMaybePromise<Array<T>>;
1983
+ type AXPDataSourceValue<T = unknown> = AXPMaybePromise<T>;
1984
+ type AXPDataSourceType<T = any> = AXPLazyDataSource<T> | AXPDataSourceArray<T> | AXPDataSourceValue<T>;
1985
+ type AXPDataSourceSample<T = any> = AXPDataSourceArray<T> | AXPDataSourceValue<T>;
1557
1986
  interface AXPDataSourceDefinition<T = any> {
1558
1987
  name: string;
1559
1988
  title: string;
@@ -1567,9 +1996,9 @@ interface AXPDataSourceDefinition<T = any> {
1567
1996
  };
1568
1997
  columns: AXPDataSourceDataFieldDefinition[];
1569
1998
  filters: AXPFilterDefinition[];
1570
- samples?: any[];
1999
+ samples?: AXPDataSourceSample<T>;
1571
2000
  visible?: boolean;
1572
- source: () => AXDataSource<T> | Promise<AXDataSource<T>>;
2001
+ source: () => AXPDataSourceType<T>;
1573
2002
  }
1574
2003
  interface AXPDataSourceDefinitionProvider {
1575
2004
  items(): Promise<AXPDataSourceDefinition[]>;
@@ -1577,13 +2006,30 @@ interface AXPDataSourceDefinitionProvider {
1577
2006
  declare const AXP_DATASOURCE_DEFINITION_PROVIDER: InjectionToken<AXPDataSourceDefinitionProvider[]>;
1578
2007
  declare class AXPDataSourceDefinitionProviderService implements AXPDataSourceDefinitionProvider {
1579
2008
  private providers;
1580
- private providerRegistry;
1581
2009
  items(): Promise<AXPDataSourceDefinition[]>;
1582
- get(name: string): Promise<AXPDataSourceDefinition | undefined>;
2010
+ get<T = any>(name: string): Promise<AXPDataSourceDefinition<T> | undefined>;
1583
2011
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPDataSourceDefinitionProviderService, never>;
1584
2012
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPDataSourceDefinitionProviderService>;
1585
2013
  }
1586
2014
 
2015
+ declare class AXPContentCheckerDirective {
2016
+ viewContainerRef: ViewContainerRef;
2017
+ elementRef: ElementRef<HTMLDivElement>;
2018
+ isEmpty: i0.Signal<boolean>;
2019
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPContentCheckerDirective, never>;
2020
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AXPContentCheckerDirective, "[axp-content-checker]", ["checker"], {}, {}, never, never, true, never>;
2021
+ }
2022
+
2023
+ declare class AXPDblClickDirective {
2024
+ onDblClick: EventEmitter<Event>;
2025
+ private lastTap;
2026
+ private readonly doubleTapThreshold;
2027
+ handleOnDblClick(event: Event): void;
2028
+ onTouchEnd(event: TouchEvent): void;
2029
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPDblClickDirective, never>;
2030
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AXPDblClickDirective, "[onDblClick]", never, {}, { "onDblClick": "onDblClick"; }, never, never, true, never>;
2031
+ }
2032
+
1587
2033
  declare class AXPElementDataDirective implements OnInit {
1588
2034
  private elementRef;
1589
2035
  data: i0.InputSignal<any>;
@@ -1603,16 +2049,6 @@ declare class AXPElementDataDirective implements OnInit {
1603
2049
  static ɵdir: i0.ɵɵDirectiveDeclaration<AXPElementDataDirective, "[axp-data]", never, { "data": { "alias": "axp-data"; "required": false; "isSignal": true; }; "path": { "alias": "axp-data-path"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1604
2050
  }
1605
2051
 
1606
- declare class AXPDblClickDirective {
1607
- onDblClick: EventEmitter<Event>;
1608
- private lastTap;
1609
- private readonly doubleTapThreshold;
1610
- handleOnDblClick(event: Event): void;
1611
- onTouchEnd(event: TouchEvent): void;
1612
- static ɵfac: i0.ɵɵFactoryDeclaration<AXPDblClickDirective, never>;
1613
- static ɵdir: i0.ɵɵDirectiveDeclaration<AXPDblClickDirective, "[onDblClick]", never, {}, { "onDblClick": "onDblClick"; }, never, never, true, never>;
1614
- }
1615
-
1616
2052
  declare class AXPGridLayoutDirective implements OnChanges {
1617
2053
  private el;
1618
2054
  private renderer;
@@ -1626,77 +2062,6 @@ declare class AXPGridLayoutDirective implements OnChanges {
1626
2062
  static ɵdir: i0.ɵɵDirectiveDeclaration<AXPGridLayoutDirective, "[axp-grid-layout]", never, { "options": { "alias": "axp-grid-layout"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
1627
2063
  }
1628
2064
 
1629
- declare class AXPContentCheckerDirective {
1630
- viewContainerRef: ViewContainerRef;
1631
- elementRef: ElementRef<HTMLDivElement>;
1632
- isEmpty: i0.Signal<boolean>;
1633
- static ɵfac: i0.ɵɵFactoryDeclaration<AXPContentCheckerDirective, never>;
1634
- static ɵdir: i0.ɵɵDirectiveDeclaration<AXPContentCheckerDirective, "[axp-content-checker]", ["checker"], {}, {}, never, never, true, never>;
1635
- }
1636
-
1637
- /**
1638
- * Fullscreen directive that provides CSS-based fullscreen functionality
1639
- * Usage: <element axFullscreen #fullscreen="axFullscreen"></element>
1640
- * Then: fullscreen.toggle() or fullscreen.enter() or fullscreen.exit()
1641
- */
1642
- declare class AXFullscreenDirective implements OnDestroy {
1643
- private elementRef;
1644
- /**
1645
- * Current fullscreen state
1646
- */
1647
- private readonly isFullscreenState;
1648
- /**
1649
- * Original element styles to restore
1650
- */
1651
- private originalStyles;
1652
- /**
1653
- * Original parent element reference
1654
- */
1655
- private originalParent;
1656
- /**
1657
- * Fullscreen container element
1658
- */
1659
- private fullscreenContainer;
1660
- /**
1661
- * Fullscreen change event
1662
- */
1663
- readonly fullscreenChange: i0.OutputEmitterRef<boolean>;
1664
- private readonly destroyRef;
1665
- private readonly renderer;
1666
- constructor(elementRef: ElementRef<HTMLElement>);
1667
- /**
1668
- * Toggle fullscreen state
1669
- */
1670
- toggle(): Promise<void>;
1671
- /**
1672
- * Enter fullscreen mode using CSS
1673
- */
1674
- enter(): Promise<void>;
1675
- /**
1676
- * Exit fullscreen mode
1677
- */
1678
- exit(): Promise<void>;
1679
- /**
1680
- * Check if currently in fullscreen mode
1681
- */
1682
- isFullscreen(): boolean;
1683
- /**
1684
- * Store original element styles
1685
- */
1686
- private storeOriginalStyles;
1687
- /**
1688
- * Restore original element styles
1689
- */
1690
- private restoreOriginalStyles;
1691
- /**
1692
- * Convert camelCase to kebab-case for CSS properties
1693
- */
1694
- private camelToKebabCase;
1695
- ngOnDestroy(): void;
1696
- static ɵfac: i0.ɵɵFactoryDeclaration<AXFullscreenDirective, never>;
1697
- static ɵdir: i0.ɵɵDirectiveDeclaration<AXFullscreenDirective, "[axFullscreen]", ["axFullscreen"], {}, { "fullscreenChange": "fullscreenChange"; }, never, never, true, never>;
1698
- }
1699
-
1700
2065
  type AXPDistributedEventListenerProviderToken<T> = AXPDistributedEventListenerProvider<T> | Promise<AXPDistributedEventListenerProvider<T>>;
1701
2066
  declare const AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER: InjectionToken<AXPDistributedEventListenerProviderToken<any>[]>;
1702
2067
  interface AXPDistributedEventListenerProvider<TInput = any, TOutput = void> {
@@ -1823,7 +2188,7 @@ declare class AXPExpressionEvaluatorScopeProviderContext {
1823
2188
  type AXPExpressionEvaluatorScopeProviders = AXPExpressionEvaluatorScopeProvider[] | (() => AXPExpressionEvaluatorScopeProvider[]);
1824
2189
  declare const AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER: InjectionToken<AXPExpressionEvaluatorScopeProviders>;
1825
2190
  declare class AXPExpressionEvaluatorScopeProviderService {
1826
- private providers;
2191
+ private readonly injector;
1827
2192
  private cache;
1828
2193
  private load;
1829
2194
  getScopesAsync(): Promise<AXPExpressionEvaluatorScope>;
@@ -1897,7 +2262,8 @@ interface AXPModuleFeatureDefinitionWithKey extends AXPModuleFeatureDefinition {
1897
2262
  }
1898
2263
  /**
1899
2264
  * Module manifest structure.
1900
- * Defines module metadata, features, and provider references.
2265
+ * Defines module metadata and dependencies.
2266
+ * Features are provided via AXP_FEATURE_DEFINITION_PROVIDER token.
1901
2267
  */
1902
2268
  interface AXPModuleManifest {
1903
2269
  /**
@@ -1925,70 +2291,11 @@ interface AXPModuleManifest {
1925
2291
  */
1926
2292
  i18n?: string;
1927
2293
  /**
1928
- * Permission provider reference (lazy-loaded).
2294
+ * Module dependencies.
2295
+ * Simple array format: module names (e.g., "MeasurementCore") or feature keys (e.g., "DataManagement.MetaDataDefinitions").
2296
+ * Features use ModuleName.FeatureKey format (dot separator).
1929
2297
  */
1930
- permissions?: {
1931
- provider: () => Promise<any>;
1932
- };
1933
- /**
1934
- * Menu provider reference (lazy-loaded).
1935
- */
1936
- menus?: {
1937
- provider: () => Promise<any>;
1938
- };
1939
- /**
1940
- * Entity definition provider reference (lazy-loaded).
1941
- */
1942
- entities?: {
1943
- provider: () => Promise<any>;
1944
- };
1945
- /**
1946
- * Settings provider reference (lazy-loaded).
1947
- */
1948
- settings?: {
1949
- provider: () => Promise<any>;
1950
- };
1951
- /**
1952
- * Search provider reference (lazy-loaded).
1953
- */
1954
- search?: {
1955
- provider: () => Promise<any>;
1956
- };
1957
- /**
1958
- * Feature definition provider reference (lazy-loaded).
1959
- * Used to provide feature definitions for the module.
1960
- */
1961
- features?: {
1962
- provider: () => Promise<any>;
1963
- };
1964
- /**
1965
- * Data source provider reference (lazy-loaded).
1966
- */
1967
- datasources?: {
1968
- provider: () => Promise<any>;
1969
- };
1970
- /**
1971
- * Component slots provider reference (lazy-loaded).
1972
- * Returns component slot configurations grouped by slot name.
1973
- * Slots registered via manifest are loaded after application selection.
1974
- * Module-level registration (AXPComponentSlotModule.forChild) still works for immediate availability.
1975
- */
1976
- componentSlots?: {
1977
- provider: () => Promise<any>;
1978
- };
1979
- /**
1980
- * Module dependencies
1981
- */
1982
- dependencies?: {
1983
- /**
1984
- * Required module names
1985
- */
1986
- modules?: string[];
1987
- /**
1988
- * Required feature keys (full format: ModuleName.FeatureKey)
1989
- */
1990
- features?: string[];
1991
- };
2298
+ dependencies?: string[];
1992
2299
  /**
1993
2300
  * Whether this module is required (always enabled, cannot be disabled).
1994
2301
  * Required modules like 'auth' and 'common' are always available.
@@ -2024,6 +2331,18 @@ interface AXPFeatureDefinition extends AXPModuleFeatureDefinition {
2024
2331
  key: string;
2025
2332
  }
2026
2333
 
2334
+ /**
2335
+ * Registered module manifests for select widgets via dataSource name {@link MODULE_MANIFESTS_DATASOURCE_NAME}.
2336
+ */
2337
+ declare const MODULE_MANIFESTS_DATASOURCE_NAME = "platform-module-manifests";
2338
+ /**
2339
+ * Data source definition for module names/titles from {@link AXPModuleManifestRegistry}.
2340
+ */
2341
+ declare class AXPModuleManifestsDataSourceDefinition implements AXPDataSourceDefinitionProvider {
2342
+ private readonly manifestRegistry;
2343
+ items(): Promise<AXPDataSourceDefinition[]>;
2344
+ }
2345
+
2027
2346
  /**
2028
2347
  * Registry service for module manifests.
2029
2348
  * Collects and manages all registered module manifests.
@@ -2060,6 +2379,11 @@ declare class AXPModuleManifestRegistry {
2060
2379
  * Check if a module manifest is registered.
2061
2380
  */
2062
2381
  has(moduleName: string): boolean;
2382
+ /**
2383
+ * Load feature definitions from all registered feature definition providers.
2384
+ * Features are automatically associated with modules based on the module name in the feature key.
2385
+ */
2386
+ private loadFeatureDefinitions;
2063
2387
  /**
2064
2388
  * Get all feature definitions from all manifests.
2065
2389
  */
@@ -2083,12 +2407,13 @@ declare class AXPModuleManifestRegistry {
2083
2407
  getModuleFeatures(moduleName: string): AXPFeatureDefinition[];
2084
2408
  /**
2085
2409
  * Register a feature definition dynamically (e.g., from feature definition provider).
2086
- * Used to add features that are defined at runtime via featuresProvider.
2410
+ * Used to add features that are defined at runtime via AXP_FEATURE_DEFINITION_PROVIDER.
2087
2411
  */
2088
2412
  registerFeatureDefinition(definition: AXPFeatureDefinition): void;
2089
2413
  /**
2090
2414
  * Check if module dependencies are satisfied.
2091
2415
  * Returns array of missing dependencies.
2416
+ * Dependencies can be module names or feature keys (ModuleName.FeatureKey format).
2092
2417
  */
2093
2418
  checkDependencies(moduleName: string): {
2094
2419
  missingModules: string[];
@@ -2116,13 +2441,13 @@ declare class AXPAppStartUpService {
2116
2441
  declare const AXPAppStartUpProvider: i0.EnvironmentProviders;
2117
2442
 
2118
2443
  /**
2119
- * Module for managing module manifests and providers initialization.
2120
- * Handles the registration of manifest and module provider startup tasks.
2444
+ * Module for managing module manifests initialization.
2445
+ * Handles the registration of manifest startup tasks.
2121
2446
  */
2122
2447
  declare class AXPModuleManifestModule {
2123
2448
  /**
2124
2449
  * @ignore
2125
- * Initializes module manifest and provider tasks on module construction.
2450
+ * Initializes module manifest tasks on module construction.
2126
2451
  */
2127
2452
  constructor(appInitService: AXPAppStartUpService, injector: Injector);
2128
2453
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPModuleManifestModule, never>;
@@ -2163,99 +2488,6 @@ interface AXPFeatureDefinitionProvider {
2163
2488
  */
2164
2489
  declare const AXP_FEATURE_DEFINITION_PROVIDER: InjectionToken<AXPFeatureDefinitionProvider[]>;
2165
2490
 
2166
- /**
2167
- * Minimal provider interfaces for the module provider registry.
2168
- * These interfaces are defined in core to avoid circular dependencies.
2169
- * The actual implementations in platform/auth and platform/common implement these interfaces.
2170
- */
2171
- /**
2172
- * Permission definition provider interface.
2173
- * Actual implementation: @acorex/platform/auth
2174
- */
2175
- interface AXPIPermissionDefinitionProvider {
2176
- define(context: any): Promise<void>;
2177
- }
2178
- /**
2179
- * Menu provider interface.
2180
- * Actual implementation: @acorex/platform/common
2181
- */
2182
- interface AXPIMenuProvider {
2183
- provide(context: any): Promise<void>;
2184
- }
2185
- /**
2186
- * Setting definition provider interface.
2187
- * Actual implementation: @acorex/platform/common
2188
- */
2189
- interface AXPISettingDefinitionProvider {
2190
- provide(context: any): Promise<void>;
2191
- }
2192
- /**
2193
- * Search command provider interface.
2194
- * Actual implementation: @acorex/platform/common
2195
- */
2196
- interface AXPISearchCommandProvider {
2197
- search(text: string): Promise<any[]>;
2198
- commands?: any[];
2199
- }
2200
- /**
2201
- * Entity definition loader interface.
2202
- * Actual implementation: @acorex/platform/layout/entity
2203
- */
2204
- interface AXIEntityDefinitionLoader {
2205
- get(moduleName: string, entityName: string): Promise<any | null>;
2206
- }
2207
- /**
2208
- * Edition service interface for querying edition information.
2209
- * Actual implementation: @acorex/modules/application-management
2210
- *
2211
- * This interface is defined in core to avoid circular dependencies.
2212
- * Modules provide implementations that extend AXMEntityCrudServiceImpl.
2213
- */
2214
- interface AXPIEditionService {
2215
- /**
2216
- * Query editions with pagination and filtering.
2217
- * @param request Query request with skip, take, and optional filters
2218
- * @returns Promise that resolves to paged list of editions
2219
- */
2220
- query(request: {
2221
- skip: number;
2222
- take: number;
2223
- [key: string]: any;
2224
- }): Promise<{
2225
- items: Array<{
2226
- id: string;
2227
- title: string;
2228
- modulesAndFeatures?: {
2229
- modules: string[];
2230
- features: Record<string, any>;
2231
- };
2232
- [key: string]: any;
2233
- }>;
2234
- total: number;
2235
- }>;
2236
- }
2237
- /**
2238
- * Injection token for edition service.
2239
- * Modules should provide their implementation using this token.
2240
- */
2241
- declare const AXP_EDITION_SERVICE: InjectionToken<AXPIEditionService>;
2242
- /**
2243
- * Module provider loader interface.
2244
- * Implementation: @acorex/platform/auth
2245
- */
2246
- interface AXPIModuleProviderLoader {
2247
- loadRequiredModules(): Promise<void>;
2248
- loadProviders(context: any): Promise<void>;
2249
- loadProvidersIfReady(): Promise<void>;
2250
- loadProvidersForApplication(application: any): Promise<void>;
2251
- clear(): Promise<void>;
2252
- isModuleRegistered(moduleName: string): boolean;
2253
- }
2254
- /**
2255
- * Injection token for module provider loader.
2256
- * Implementation: @acorex/platform/auth
2257
- */
2258
- declare const AXP_MODULE_PROVIDER_LOADER: InjectionToken<AXPIModuleProviderLoader>;
2259
2491
  /**
2260
2492
  * Session service interface for module provider operations.
2261
2493
  * Implementation: @acorex/platform/auth
@@ -2279,154 +2511,89 @@ declare const AXP_SESSION_SERVICE: InjectionToken<AXPISessionService>;
2279
2511
  declare const AXP_MODULE_MANIFEST_PROVIDER: InjectionToken<AXPModuleManifest[]>;
2280
2512
 
2281
2513
  /**
2282
- * Registry service for dynamically loaded module providers.
2283
- * Stores provider instances that are loaded conditionally based on access control.
2514
+ * Resolves {@link AXPMultiLanguageString} using the active app locale, and exposes
2515
+ * {@link currentLocale$} for code that prefers an observable (e.g. manual subscriptions).
2516
+ * Templates usually use {@link AXPResolveMultiLanguageStringPipe} instead.
2284
2517
  */
2285
- declare class AXPModuleProviderRegistry {
2286
- private readonly permissionProviders;
2287
- private readonly menuProviders;
2288
- private readonly entityProviders;
2289
- private readonly settingProviders;
2290
- private readonly searchProviders;
2291
- private readonly featureProviders;
2292
- private readonly datasourceProviders;
2293
- /**
2294
- * Register a permission provider.
2295
- */
2296
- registerPermissionProvider(provider: AXPIPermissionDefinitionProvider): void;
2297
- /**
2298
- * Get all registered permission providers.
2299
- */
2300
- getPermissionProviders(): AXPIPermissionDefinitionProvider[];
2301
- /**
2302
- * Register a menu provider.
2303
- */
2304
- registerMenuProvider(provider: AXPIMenuProvider): void;
2305
- /**
2306
- * Get all registered menu providers.
2307
- */
2308
- getMenuProviders(): AXPIMenuProvider[];
2309
- /**
2310
- * Register an entity provider.
2311
- */
2312
- registerEntityProvider(provider: AXIEntityDefinitionLoader): void;
2313
- /**
2314
- * Get all registered entity providers.
2315
- */
2316
- getEntityProviders(): AXIEntityDefinitionLoader[];
2317
- /**
2318
- * Register a settings provider.
2319
- */
2320
- registerSettingProvider(provider: AXPISettingDefinitionProvider): void;
2321
- /**
2322
- * Get all registered settings providers.
2323
- */
2324
- getSettingProviders(): AXPISettingDefinitionProvider[];
2325
- /**
2326
- * Register a search provider.
2327
- */
2328
- registerSearchProvider(provider: AXPISearchCommandProvider): void;
2329
- /**
2330
- * Get all registered search providers.
2331
- */
2332
- getSearchProviders(): AXPISearchCommandProvider[];
2333
- /**
2334
- * Register a feature provider.
2335
- */
2336
- registerFeatureProvider(provider: AXPFeatureDefinitionProvider): void;
2518
+ declare class AXPMultiLanguageStringResolverService {
2519
+ private readonly translation;
2337
2520
  /**
2338
- * Get all registered feature providers.
2521
+ * Emits the active locale on subscribe and whenever the language changes.
2339
2522
  */
2340
- getFeatureProviders(): AXPFeatureDefinitionProvider[];
2523
+ readonly currentLocale$: Observable<string>;
2341
2524
  /**
2342
- * Register a datasource provider.
2525
+ * Resolves multi-language content for an optional locale (defaults to active).
2343
2526
  */
2344
- registerDatasourceProvider(provider: AXPDataSourceDefinitionProvider): void;
2527
+ resolve(content: AXPMultiLanguageString | null | undefined, locale?: string): string;
2345
2528
  /**
2346
- * Get all registered datasource providers.
2529
+ * Checks if a value is a valid multi-language object map.
2530
+ * Key format must be `xx-XX` (e.g. en-US, fa-IR) or fallback `*-*`.
2531
+ * All values must be strings.
2347
2532
  */
2348
- getDatasourceProviders(): AXPDataSourceDefinitionProvider[];
2533
+ isValidMultiLanguageObject(value: unknown): value is Record<string, string>;
2349
2534
  /**
2350
- * Clear all registered providers.
2351
- * Useful for testing or re-initialization.
2535
+ * Normalizes multi-language content to a locale map for editors (e.g. multi-language popup `values`).
2536
+ * If `content` is already a locale-to-string map, returns a shallow copy.
2537
+ * If it is a plain string or empty, wraps it as `{ [activeLocale]: text }`.
2352
2538
  */
2353
- clear(): void;
2354
- static ɵfac: i0.ɵɵFactoryDeclaration<AXPModuleProviderRegistry, never>;
2355
- static ɵprov: i0.ɵɵInjectableDeclaration<AXPModuleProviderRegistry>;
2539
+ toLocaleMap(content: AXPMultiLanguageString | null | undefined, activeLocale: string): Record<string, string>;
2540
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPMultiLanguageStringResolverService, never>;
2541
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPMultiLanguageStringResolverService>;
2356
2542
  }
2357
2543
 
2358
2544
  /**
2359
- * Access control context for module loading.
2360
- * Note: Types are defined locally to avoid circular dependency with @acorex/platform/auth
2361
- * These types match the structure of AXPTenant, AXPApplication, and AXPUser
2545
+ * Resolves {@link AXPMultiLanguageString} via {@link AXPMultiLanguageStringResolverService}.
2546
+ * Impure and subscribes to {@link AXPMultiLanguageStringResolverService#currentLocale$} so
2547
+ * OnPush hosts (e.g. grid cells) still refresh when the language changes.
2548
+ *
2549
+ * Optional second argument: explicit locale (e.g. from a host `locale` input). When omitted or null/empty,
2550
+ * the active language is used.
2551
+ *
2552
+ * @example
2553
+ * ```html
2554
+ * {{ value | axpResolveMultiLanguageString }}
2555
+ * {{ value | axpResolveMultiLanguageString: locale() }}
2556
+ * ```
2362
2557
  */
2363
- interface AXPModuleAccessContext {
2364
- tenant: {
2365
- id: string;
2366
- name: string;
2367
- title: string;
2368
- description?: string;
2369
- logo?: any;
2370
- [key: string]: any;
2371
- };
2372
- application: {
2373
- id: string;
2374
- name: string;
2375
- title?: string;
2376
- version?: string;
2377
- edition?: {
2378
- id: string;
2379
- title: string;
2380
- description?: string;
2381
- };
2382
- description?: string;
2383
- logo?: any;
2384
- [key: string]: any;
2385
- };
2386
- edition: {
2387
- id: string;
2388
- title: string;
2389
- modulesAndFeatures?: {
2390
- modules: string[];
2391
- features: Record<string, any>;
2392
- };
2393
- };
2394
- subscription?: any;
2395
- user: {
2396
- id: string;
2397
- name: string;
2398
- title: string;
2399
- avatar?: string;
2400
- [key: string]: any;
2401
- };
2558
+ declare class AXPResolveMultiLanguageStringPipe implements PipeTransform, OnDestroy {
2559
+ private readonly resolver;
2560
+ private readonly cdr;
2561
+ private readonly localeSubscription;
2562
+ transform(value: AXPMultiLanguageString | null | undefined, locale?: string | null): string;
2563
+ ngOnDestroy(): void;
2564
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPResolveMultiLanguageStringPipe, never>;
2565
+ static ɵpipe: i0.ɵɵPipeDeclaration<AXPResolveMultiLanguageStringPipe, "axpResolveMultiLanguageString", true>;
2402
2566
  }
2567
+
2403
2568
  /**
2404
- * Service for checking module access control.
2405
- * Provides centralized access control logic that can be overridden per module.
2569
+ * Locale-aware comparison of {@link AXPMultiLanguageString} values (plain string, `@scope:key`, or locale map).
2570
+ * Resolves each side with {@link resolveMultiLanguageString} for `locale`, then compares with `String#localeCompare`.
2406
2571
  */
2407
- interface AXPModuleAccessControlService {
2408
- /**
2409
- * Check if user has access to a module based on context.
2410
- * @param moduleName Module name to check access for
2411
- * @param context Access control context
2412
- * @returns true if module should be loaded, false otherwise
2413
- */
2414
- checkAccess(manifest: AXPModuleManifest, context: AXPModuleAccessContext): boolean | Promise<boolean>;
2415
- }
2572
+ declare function compareMultiLanguageStrings(a: AXPMultiLanguageString | null | undefined, b: AXPMultiLanguageString | null | undefined, locale: string, collatorOptions?: Intl.CollatorOptions): number;
2416
2573
  /**
2417
- * Default implementation of module access control service.
2418
- * Checks if module is enabled in edition.modulesAndFeatures.modules.
2574
+ * Stable sort copy: orders items by resolved string for `getValue(item)` using the active `locale`.
2419
2575
  */
2420
- declare class DefaultModuleAccessControlService implements AXPModuleAccessControlService {
2421
- checkAccess(manifest: AXPModuleManifest, context: AXPModuleAccessContext): boolean;
2422
- static ɵfac: i0.ɵɵFactoryDeclaration<DefaultModuleAccessControlService, never>;
2423
- static ɵprov: i0.ɵɵInjectableDeclaration<DefaultModuleAccessControlService>;
2424
- }
2576
+ declare function sortByMultiLanguageString<T>(items: readonly T[], getValue: (item: T) => AXPMultiLanguageString | null | undefined, locale: string, collatorOptions?: Intl.CollatorOptions): T[];
2577
+
2425
2578
  /**
2426
- * Injection token for module access control service.
2427
- * If not provided, DefaultModuleAccessControlService will be used as fallback.
2579
+ * Checks whether value is a valid locale map (`xx-XX` or `*-*` keys, string values).
2428
2580
  */
2429
- declare const AXP_MODULE_ACCESS_CONTROL_SERVICE: InjectionToken<AXPModuleAccessControlService>;
2581
+ declare function isValidMultiLanguageObject(value: unknown): value is Record<string, string>;
2582
+ /**
2583
+ * Resolves {@link AXPMultiLanguageString} to a single string for the given locale.
2584
+ * Fallback order: `currentLocale` → `en-US` → first map value.
2585
+ */
2586
+ declare function resolveMultiLanguageString(content: AXPMultiLanguageString | null | undefined, currentLocale: string): string;
2587
+ /**
2588
+ * Creates an {@link AXPMultiLanguageString} with `en-US` and `fa-IR` entries.
2589
+ * Use for seed data, tests, and demos that supply English and Persian copy explicitly.
2590
+ */
2591
+ declare function createMultiLanguageString(enUs: string, faIr: string): AXPMultiLanguageString;
2592
+ /**
2593
+ * True when there is no displayable text in any locale (plain string or ML map).
2594
+ * Pure helper for predicates (e.g. default section detection); prefer widgets / pipes for display.
2595
+ */
2596
+ declare function isEffectivelyEmptyLocalizedValue(value: unknown): boolean;
2430
2597
 
2431
2598
  /**
2432
2599
  * Represents a tag with text, color, and metadata
@@ -2692,11 +2859,58 @@ declare function getEnumValues(enumType: any): {
2692
2859
  title: string;
2693
2860
  }[];
2694
2861
 
2862
+ /**
2863
+ * Creates a provider instance within an injection context.
2864
+ * Handles dynamic import, injector resolution, and provider instantiation.
2865
+ *
2866
+ * @param loader - Function that returns a promise resolving to the provider class
2867
+ * @returns Promise that resolves to the provider instance
2868
+ *
2869
+ * @example
2870
+ * ```typescript
2871
+ * useFactory: () => createProviderWithInjectionContext(() =>
2872
+ * import('./settings.provider').then(m => m.AXMSettingProvider)
2873
+ * )
2874
+ * ```
2875
+ */
2876
+ declare function createProviderWithInjectionContext<T>(loader: () => Promise<new () => T>): Promise<T>;
2877
+ /**
2878
+ * Creates a provider configuration for lazy-loaded providers with injection context.
2879
+ * Simplifies provider registration in NgModule providers array.
2880
+ *
2881
+ * @param token - The injection token to provide
2882
+ * @param loader - Function that returns a promise resolving to the provider class
2883
+ * @param multi - Optional. Whether the provider is a multi-provider (array of values). Defaults to `true`. Pass `false` for a single provider.
2884
+ * @returns Provider configuration object
2885
+ *
2886
+ * @example
2887
+ * ```typescript
2888
+ * // Multi-provider (default)
2889
+ * provideLazyProvider(
2890
+ * AXP_DATASOURCE_DEFINITION_PROVIDER,
2891
+ * () => import('./datasource.provider').then(m => m.AXMDataSourceProvider)
2892
+ * )
2893
+ *
2894
+ * // Single provider
2895
+ * provideLazyProvider(
2896
+ * SOME_TOKEN,
2897
+ * () => import('./my.provider').then(m => m.MyProvider),
2898
+ * false
2899
+ * )
2900
+ * ```
2901
+ */
2902
+ declare function provideLazyProvider<TProvider>(token: InjectionToken<any>, loader: () => Promise<new () => TProvider>, multi?: boolean): Provider;
2903
+
2695
2904
  declare function extractTextFromHtml(value: string): string;
2905
+ /**
2906
+ * True when the string likely contains HTML markup (e.g. `<p>`, `<ul>`), as opposed to plain text.
2907
+ * Used to choose innerHTML vs text interpolation for multilingual fields.
2908
+ */
2909
+ declare function containsHtmlMarkup(value: string | null | undefined): boolean;
2696
2910
  /**
2697
2911
  * Generate kebab-case group name from title
2698
2912
  */
2699
2913
  declare function generateKebabCase(title: string): string;
2700
2914
 
2701
- export { AXFullscreenDirective, AXHighlightService, AXPActivityLogProvider, AXPActivityLogService, AXPAppStartUpProvider, AXPAppStartUpService, AXPBroadcastEventService, AXPColorPaletteProvider, AXPColorPaletteService, AXPComponentLogoConfig, AXPContentCheckerDirective, AXPContextChangeEvent, AXPContextStore, AXPCountdownPipe, AXPDataGenerator, AXPDataSourceDefinitionProviderService, AXPDblClickDirective, AXPDefaultColorPalettesProvider, AXPDeviceService, AXPDeviceType, AXPDistributedEventListenerService, AXPElementDataDirective, AXPExportTemplateToken, AXPExpressionEvaluatorScopeProviderContext, AXPExpressionEvaluatorScopeProviderService, AXPExpressionEvaluatorService, AXPFeatureDefinitionProviderContext, AXPGridLayoutDirective, AXPHookService, AXPIconLogoConfig, AXPImageUrlLogoConfig, AXPModuleManifestModule, AXPModuleManifestRegistry, AXPModuleProviderRegistry, AXPPlatformScope, AXPScreenSize, AXPSystemActionType, AXPSystemActions, AXPTagProvider, AXPTagService, AXP_ACTIVITY_LOG_PROVIDER, AXP_COLOR_PALETTE_PROVIDER, AXP_DATASOURCE_DEFINITION_PROVIDER, AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER, AXP_EDITION_SERVICE, AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, AXP_FEATURE_DEFINITION_PROVIDER, AXP_MODULE_ACCESS_CONTROL_SERVICE, AXP_MODULE_MANIFEST_PROVIDER, AXP_MODULE_PROVIDER_LOADER, AXP_SESSION_SERVICE, AXP_TAG_PROVIDER, DefaultModuleAccessControlService, applyFilterArray, applyPagination, applyQueryArray, applySortArray, applySystemActionDefault, cleanDeep, extractNestedFieldsWildcard, extractTextFromHtml, extractValue, generateKebabCase, getActionButton, getChangedPaths, getDetailedChanges, getEnumValues, getNestedKeys, getSmart, getSystemActions, objectKeyValueTransforms, resolveActionLook, resolvePlatformScopeKey, resolvePlatformScopeName, setSmart };
2702
- export type { AXIEntityDefinitionLoader, AXPActionMenuItem, AXPActivityLog, AXPActivityLogChange, AXPApplicationUserReference, AXPBackButton, AXPBadge, AXPBreadcrumbItem, AXPCategorizedEntity, AXPCategorizedEntityDto, AXPCategoryEntity, AXPCategoryEntityWithItems, AXPColorPalette, AXPColorPaletteFilterOptions, AXPColumnQuery, AXPCommandMessage, AXPContent, AXPContentDirection, AXPContentType, AXPContextData, AXPContextState, AXPDataSource, AXPDataSourceDataFieldDefinition, AXPDataSourceDefinition, AXPDataSourceDefinitionProvider, AXPDataType, AXPDistributedEventListenerProvider, AXPDistributedEventListenerProviderToken, AXPEntityReference, AXPEqualValidationRule, AXPExecuteCommand, AXPExecuteCommandResult, AXPExportCsvOptions, AXPExportExcelOptions, AXPExportOptions, AXPExportPdfOptions, AXPExportPrintOptions, AXPExpression, AXPExpressionEvaluatorScope, AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviders, AXPFeatureDefinition, AXPFeatureDefinitionProvider, AXPFeatureName, AXPFileListItem, AXPFileSource, AXPFileStatus, AXPFilterClause, AXPFilterDefinition, AXPFilterQuery, AXPFlowDirection, AXPGridLayoutOptions, AXPGridPlacement, AXPIEditionService, AXPIMenuProvider, AXPIModuleProviderLoader, AXPIPermissionDefinitionProvider, AXPISearchCommandProvider, AXPISessionService, AXPISettingDefinitionProvider, AXPLogoConfig, AXPMaxLengthValidationRule, AXPMetaData, AXPMiddlewareErrorResponse, AXPMinLengthValidationRule, AXPModuleAccessContext, AXPModuleAccessControlService, AXPModuleFeatureDefinition, AXPModuleFeatureDefinitionWithKey, AXPModuleManifest, AXPNavigateActionCommand, AXPNavigateActionOptions, AXPOptionsData, AXPPagedListResult, AXPPartialNested, AXPPlatformScopeKey, AXPQueryFetchResult, AXPQueryRequest, AXPReqexValidationRule, AXPRequiredValidationRule, AXPSortDefinition, AXPSortQuery, AXPStartUpTask, AXPStringValidationRules, AXPSystemAction, AXPTag, AXPTagFilterOptions, AXPUserReference, AXPValidationRule, AXPValidationRules, AXPValueTransformerFunction, AXPValueTransformerFunctions, AXPValueUnit, AXPValueUnits, AXPViewBlockDefinition, AXPViewDefinition, AXPViewFieldDefinition, AXPViewQuery, AXPWidgetTrigger, AXPWidgetTriggers };
2915
+ export { AXHighlightService, AXPActivityLogProvider, AXPActivityLogService, AXPAppStartUpProvider, AXPAppStartUpService, AXPBroadcastEventService, AXPColorPaletteProvider, AXPColorPaletteService, AXPColumnWidthService, AXPComponentLogoConfig, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPContentCheckerDirective, AXPContextChangeEvent, AXPContextStore, AXPCountdownPipe, AXPDataGenerator, AXPDataSourceDefinitionProviderService, AXPDblClickDirective, AXPDefaultColorPalettesProvider, AXPDeviceService, AXPDeviceType, AXPDistributedEventListenerService, AXPElementDataDirective, AXPExportTemplateToken, AXPExpressionEvaluatorScopeProviderContext, AXPExpressionEvaluatorScopeProviderService, AXPExpressionEvaluatorService, AXPFeatureDefinitionProviderContext, AXPGridLayoutDirective, AXPHookService, AXPIconLogoConfig, AXPImageUrlLogoConfig, AXPModuleManifestModule, AXPModuleManifestRegistry, AXPModuleManifestsDataSourceDefinition, AXPMultiLanguageStringResolverService, AXPPlatformScope, AXPResolveMultiLanguageStringPipe, AXPScreenSize, AXPSystemActionType, AXPSystemActions, AXPTagProvider, AXPTagService, AXP_ACTIVITY_LOG_PROVIDER, AXP_COLOR_PALETTE_PROVIDER, AXP_COLUMN_WIDTH_PROVIDER, AXP_DATASOURCE_DEFINITION_PROVIDER, AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER, AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, AXP_FEATURE_DEFINITION_PROVIDER, AXP_MODULE_MANIFEST_PROVIDER, AXP_SESSION_SERVICE, AXP_TAG_PROVIDER, MODULE_MANIFESTS_DATASOURCE_NAME, applyFilterArray, applyPagination, applyQueryArray, applySortArray, applySystemActionDefault, cleanDeep, compareMultiLanguageStrings, containsHtmlMarkup, createMultiLanguageString, createProviderWithInjectionContext, defaultColumnWidthProvider, extractNestedFieldsWildcard, extractTextFromHtml, extractValue, generateKebabCase, getActionButton, getChangedPaths, getDetailedChanges, getEnumValues, getNestedKeys, getSmart, getSystemActions, isEffectivelyEmptyLocalizedValue, isValidMultiLanguageObject, objectKeyValueTransforms, provideLazyProvider, resolveActionLook, resolveMultiLanguageString, resolvePlatformScopeKey, resolvePlatformScopeName, setSmart, sortByMultiLanguageString };
2916
+ export type { AXPActionMenuItem, AXPActivityLog, AXPActivityLogChange, AXPApplicationUserReference, AXPBackButton, AXPBadge, AXPBreadcrumbItem, AXPCategorizedEntity, AXPCategorizedEntityDto, AXPCategoryEntity, AXPCategoryEntityWithItems, AXPCategoryListItem, AXPColorPalette, AXPColorPaletteFilterOptions, AXPColumnQuery, AXPColumnWidthMatcher, AXPColumnWidthProvider, AXPCommandMessage, AXPComponentSlotConfig, AXPComponentSlotModuleConfigs, AXPContent, AXPContentDirection, AXPContentType, AXPContextData, AXPContextState, AXPDataSource, AXPDataSourceArray, AXPDataSourceDataFieldDefinition, AXPDataSourceDefinition, AXPDataSourceDefinitionProvider, AXPDataSourceSample, AXPDataSourceType, AXPDataSourceValue, AXPDataType, AXPDistributedEventListenerProvider, AXPDistributedEventListenerProviderToken, AXPEntityOp, AXPEntityReference, AXPEqualValidationRule, AXPExecuteCommand, AXPExecuteCommandResult, AXPExportCsvOptions, AXPExportExcelOptions, AXPExportOptions, AXPExportPdfOptions, AXPExportPrintOptions, AXPExpression, AXPExpressionEvaluatorScope, AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviders, AXPFeatureDefinition, AXPFeatureDefinitionProvider, AXPFeatureName, AXPFileListItem, AXPFileSource, AXPFileStatus, AXPFilterClause, AXPFilterDefinition, AXPFilterQuery, AXPFilterTriggerDefinition, AXPFlowDirection, AXPGridLayoutOptions, AXPGridPlacement, AXPISessionService, AXPLazyDataSource, AXPLogoConfig, AXPMaxLengthValidationRule, AXPMaybePromise, AXPMetaData, AXPMiddlewareErrorResponse, AXPMinLengthValidationRule, AXPModuleFeatureDefinition, AXPModuleFeatureDefinitionWithKey, AXPModuleManifest, AXPMultiLanguageString, AXPNavigateActionCommand, AXPNavigateActionOptions, AXPOptionsData, AXPPageStatus, AXPPagedListResult, AXPPartialNested, AXPPlatformScopeKey, AXPQueryFetchResult, AXPQueryRequest, AXPReqexValidationRule, AXPRequiredValidationRule, AXPSortDefinition, AXPSortQuery, AXPStartUpTask, AXPStringValidationRules, AXPSystemAction, AXPTag, AXPTagFilterOptions, AXPUserReference, AXPValidationRule, AXPValidationRules, AXPValueTransformerFunction, AXPValueTransformerFunctions, AXPValueUnit, AXPValueUnits, AXPViewBlockDefinition, AXPViewDefinition, AXPViewFieldDefinition, AXPViewQuery, AXPWidgetTrigger, AXPWidgetTriggers, ColumnNameMatcher, ColumnWidthValue, IColumnWithWidth, WidgetTypeMatcher };