@acorex/platform 21.0.0-next.37 → 21.0.0-next.40

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 (64) hide show
  1. package/fesm2022/acorex-platform-common.mjs +25 -3
  2. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  3. package/fesm2022/acorex-platform-core.mjs +18 -172
  4. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-domain.mjs +3 -0
  6. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-layout-builder.mjs +29 -13
  8. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-layout-components.mjs +62 -40
  10. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-layout-designer.mjs +209 -62
  12. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-entity.mjs +1072 -358
  14. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-views.mjs +171 -86
  16. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-widget-core.mjs +170 -63
  18. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  19. package/fesm2022/{acorex-platform-layout-widgets-file-list-popup.component-9uCkMxcc.mjs → acorex-platform-layout-widgets-file-list-popup.component-CDYAGBku.mjs} +5 -60
  20. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-CDYAGBku.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-layout-widgets.mjs +720 -415
  22. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-runtime.mjs +120 -9
  24. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  25. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs → acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs} +3 -3
  26. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cx1lLUaR.mjs.map +1 -0
  27. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs → acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs} +3 -3
  28. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-AOrcgjDF.mjs.map +1 -0
  29. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.mjs → acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs} +3 -3
  30. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BfCeUU5F.mjs.map +1 -0
  31. package/fesm2022/acorex-platform-themes-default.mjs +26 -14
  32. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  33. package/fesm2022/{acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs → acorex-platform-themes-shared-settings.provider-D13QB3Hr.mjs} +2 -2
  34. package/fesm2022/acorex-platform-themes-shared-settings.provider-D13QB3Hr.mjs.map +1 -0
  35. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs +94 -0
  36. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-D566Kdvy.mjs.map +1 -0
  37. package/fesm2022/{acorex-platform-themes-shared-theme-color-chooser-view.component-BSmvnUVq.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs} +38 -16
  38. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-D7-rCGl7.mjs.map +1 -0
  39. package/fesm2022/acorex-platform-themes-shared.mjs +183 -84
  40. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  41. package/fesm2022/acorex-platform-workflow.mjs +75 -15
  42. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  43. package/package.json +1 -1
  44. package/types/acorex-platform-common.d.ts +11 -6
  45. package/types/acorex-platform-core.d.ts +67 -101
  46. package/types/acorex-platform-domain.d.ts +28 -2
  47. package/types/acorex-platform-layout-builder.d.ts +41 -28
  48. package/types/acorex-platform-layout-components.d.ts +4 -3
  49. package/types/acorex-platform-layout-designer.d.ts +56 -16
  50. package/types/acorex-platform-layout-entity.d.ts +180 -40
  51. package/types/acorex-platform-layout-views.d.ts +31 -29
  52. package/types/acorex-platform-layout-widget-core.d.ts +81 -52
  53. package/types/acorex-platform-layout-widgets.d.ts +42 -16
  54. package/types/acorex-platform-runtime.d.ts +156 -61
  55. package/types/acorex-platform-themes-default.d.ts +1 -0
  56. package/types/acorex-platform-workflow.d.ts +64 -52
  57. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-9uCkMxcc.mjs.map +0 -1
  58. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cvvr4HnL.mjs.map +0 -1
  59. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-TYoLN1Jq.mjs.map +0 -1
  60. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-C2z5Lq9y.mjs.map +0 -1
  61. package/fesm2022/acorex-platform-themes-shared-settings.provider-DSs1o1M6.mjs.map +0 -1
  62. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs +0 -65
  63. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-CHfrTtol.mjs.map +0 -1
  64. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BSmvnUVq.mjs.map +0 -1
@@ -6,12 +6,13 @@ import { AXClickEvent } from '@acorex/cdk/common';
6
6
  import * as i1 from '@acorex/cdk/drawer';
7
7
  import { AXDrawerItemDirective } from '@acorex/cdk/drawer';
8
8
  import * as _acorex_platform_core from '@acorex/platform/core';
9
- import { AXPActionMenuItem, AXPBreadcrumbItem, AXPBadge, AXPPageStatus, AXPBackButton, AXPExecuteCommand, AXPDeviceService, AXPExecuteCommandResult, AXPExpressionEvaluatorScope, AXPBroadcastEventService, AXPContextChangeEvent } from '@acorex/platform/core';
9
+ import { AXPActionMenuItem, AXPBreadcrumbItem, AXPMultiLanguageString, AXPBadge, AXPPageStatus, AXPBackButton, AXPExecuteCommand, AXPDeviceService, AXPExecuteCommandResult, AXPExpressionEvaluatorScope, AXPBroadcastEventService, AXPContextChangeEvent } from '@acorex/platform/core';
10
10
  import { AXPCommandService, AXPPolicyEngineService } from '@acorex/platform/runtime';
11
11
  import { AXPWorkflowService } from '@acorex/platform/workflow';
12
+ import * as _acorex_core_translation from '@acorex/core/translation';
13
+ import { AXTranslationService } from '@acorex/core/translation';
12
14
  import { AXToastService } from '@acorex/components/toast';
13
15
  import { AXFormatService } from '@acorex/core/format';
14
- import { AXTranslationService } from '@acorex/core/translation';
15
16
  import { AXPSessionService } from '@acorex/platform/auth';
16
17
  import { AXPHomePageService } from '@acorex/platform/common';
17
18
  import { AXBasePageComponent } from '@acorex/components/page';
@@ -30,12 +31,12 @@ declare abstract class AXPPageLayoutBase {
30
31
  abstract hasSecondaryActions: Signal<boolean>;
31
32
  abstract hasActions: Signal<boolean>;
32
33
  abstract breadcrumbs: Signal<AXPBreadcrumbItem[]>;
33
- abstract title: Signal<string>;
34
+ abstract title: Signal<AXPMultiLanguageString>;
34
35
  abstract titleIcon: Signal<string | null>;
35
36
  abstract hasTitle: Signal<boolean>;
36
37
  abstract hasTitleIcon: Signal<boolean>;
37
38
  abstract hasDescription: Signal<boolean>;
38
- abstract description: Signal<string | null>;
39
+ abstract description: Signal<AXPMultiLanguageString | null>;
39
40
  abstract hasBreadcrumbs: Signal<boolean>;
40
41
  abstract hasBadge: Signal<boolean>;
41
42
  abstract badge: Signal<AXPBadge | null>;
@@ -176,15 +177,15 @@ declare abstract class AXPPageLayoutBaseComponent implements AXPPageLayoutBase {
176
177
  protected updateTrigger: _angular_core.Signal<number>;
177
178
  protected recompute(): void;
178
179
  ngOnInit(): Promise<void>;
179
- title: _angular_core.WritableSignal<string>;
180
+ title: _angular_core.WritableSignal<_acorex_core_translation.AXMultiLanguageString>;
180
181
  titleIcon: _angular_core.WritableSignal<string | null>;
181
- protected getPageTitle(): string | Promise<string>;
182
+ protected getPageTitle(): AXPMultiLanguageString | Promise<AXPMultiLanguageString>;
182
183
  protected getPageIcon(): string | null | Promise<string | null>;
183
184
  hasTitle: _angular_core.Signal<boolean>;
184
185
  hasTitleIcon: _angular_core.Signal<boolean>;
185
- description: _angular_core.WritableSignal<string | null>;
186
+ description: _angular_core.WritableSignal<_acorex_core_translation.AXMultiLanguageString | null>;
186
187
  hasDescription: _angular_core.Signal<boolean>;
187
- protected getPageDescription(): string | null | Promise<string | null>;
188
+ protected getPageDescription(): AXPMultiLanguageString | null | Promise<AXPMultiLanguageString | null>;
188
189
  private defaultBreadCrumbs;
189
190
  breadcrumbs: _angular_core.WritableSignal<AXPBreadcrumbItem[]>;
190
191
  hasBreadcrumbs: _angular_core.Signal<boolean>;
@@ -389,9 +390,9 @@ interface AXPLayoutDetailsViewTabItem {
389
390
  }
390
391
  interface AXPLayoutDetailsViewPage {
391
392
  id: string;
392
- title: string;
393
- label: string;
394
- description?: string;
393
+ title: AXPMultiLanguageString;
394
+ label: AXPMultiLanguageString;
395
+ description?: AXPMultiLanguageString;
395
396
  icon?: string;
396
397
  /**
397
398
  * Content can be either widget nodes or component references
@@ -431,9 +432,9 @@ interface AXPLayoutDetailsViewPage {
431
432
  }
432
433
  interface AXPLayoutDetailsViewAdapter {
433
434
  name: string;
434
- title?: string;
435
- label?: string;
436
- description?: string;
435
+ title?: AXPMultiLanguageString;
436
+ label?: AXPMultiLanguageString;
437
+ description?: AXPMultiLanguageString;
437
438
  icon?: string;
438
439
  actions?: AXPLayoutDetailsViewAction[];
439
440
  breadcrumbs?: AXPBreadcrumbItem[];
@@ -480,8 +481,6 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
480
481
  load: (adapter: AXPLayoutDetailsViewAdapter) => Promise<void>;
481
482
  updateContext: (context: any) => void;
482
483
  updatePageSelectedRows: (rows: any[]) => void;
483
- currentPageTitle: () => string | null;
484
- currentPageDescription: () => string | null;
485
484
  currentPagePrimaryActions: () => Promise<any>;
486
485
  currentPageSecondaryActions: () => Promise<any>;
487
486
  currentPageContent: () => AXPWidgetNode[];
@@ -491,13 +490,16 @@ declare const AXPLayoutDetailsViewViewModel: _angular_core.Type<{
491
490
  getCurrentTabContent: () => AXPWidgetNode[];
492
491
  getRenderedTabContent: (tabId: string) => AXPWidgetNode[];
493
492
  clearPageTabCache: (pageId: string) => void;
494
- title: () => string | null;
495
- backButtonTitle: () => string | null;
496
- description: () => string | null;
493
+ backButtonTitle: () => _acorex_core_translation.AXMultiLanguageString;
494
+ getPageTitle: () => Promise<AXPMultiLanguageString>;
495
+ getPageDescription: () => Promise<AXPMultiLanguageString | null>;
496
+ getBackButton: () => Promise<AXPBackButton | null>;
497
+ getPageBadge: () => Promise<AXPBadge | null>;
498
+ getPageStatus: () => Promise<AXPPageStatus | null>;
497
499
  primaryActions: () => Promise<any>;
498
500
  secondaryActions: () => Promise<any>;
499
501
  breadcrumbs: () => Promise<{
500
- title: string;
502
+ title: _acorex_core_translation.AXMultiLanguageString;
501
503
  name?: string;
502
504
  icon?: string;
503
505
  command?: AXPExecuteCommand;
@@ -561,8 +563,6 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
561
563
  load: (adapter: AXPLayoutDetailsViewAdapter) => Promise<void>;
562
564
  updateContext: (context: any) => void;
563
565
  updatePageSelectedRows: (rows: any[]) => void;
564
- currentPageTitle: () => string | null;
565
- currentPageDescription: () => string | null;
566
566
  currentPagePrimaryActions: () => Promise<any>;
567
567
  currentPageSecondaryActions: () => Promise<any>;
568
568
  currentPageContent: () => _acorex_platform_layout_widget_core.AXPWidgetNode[];
@@ -572,13 +572,16 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
572
572
  getCurrentTabContent: () => _acorex_platform_layout_widget_core.AXPWidgetNode[];
573
573
  getRenderedTabContent: (tabId: string) => _acorex_platform_layout_widget_core.AXPWidgetNode[];
574
574
  clearPageTabCache: (pageId: string) => void;
575
- title: () => string | null;
576
- backButtonTitle: () => string | null;
577
- description: () => string | null;
575
+ backButtonTitle: () => _acorex_core_translation.AXMultiLanguageString;
576
+ getPageTitle: () => Promise<AXPMultiLanguageString>;
577
+ getPageDescription: () => Promise<AXPMultiLanguageString | null>;
578
+ getBackButton: () => Promise<AXPBackButton | null>;
579
+ getPageBadge: () => Promise<AXPBadge | null>;
580
+ getPageStatus: () => Promise<AXPPageStatus | null>;
578
581
  primaryActions: () => Promise<any>;
579
582
  secondaryActions: () => Promise<any>;
580
583
  breadcrumbs: () => Promise<{
581
- title: string;
584
+ title: _acorex_core_translation.AXMultiLanguageString;
582
585
  name?: string;
583
586
  icon?: string;
584
587
  command?: AXPExecuteCommand;
@@ -607,7 +610,6 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
607
610
  protected route: ActivatedRoute;
608
611
  protected eventService: AXPBroadcastEventService;
609
612
  protected deviceService: AXPDeviceService;
610
- private settingsService;
611
613
  private onSelectionChangeSubscription?;
612
614
  private readonly destroyed$;
613
615
  protected form: _angular_core.Signal<AXFormComponent | undefined>;
@@ -634,8 +636,8 @@ declare class AXPLayoutDetailsViewComponent extends AXPPageLayoutBaseComponent i
634
636
  getSecondaryMenuItems(): Promise<AXPActionMenuItem[]>;
635
637
  protected getFooterSecondaryActions(): Promise<AXPActionMenuItem[]>;
636
638
  protected getPageBreadcrumbs(): Promise<AXPBreadcrumbItem[]>;
637
- protected getPageTitle(): Promise<string>;
638
- getPageDescription(): Promise<string | null>;
639
+ protected getPageTitle(): Promise<AXPMultiLanguageString>;
640
+ getPageDescription(): Promise<AXPMultiLanguageString | null>;
639
641
  getBackButton(): Promise<AXPBackButton | null>;
640
642
  getPageBadge(): Promise<AXPBadge | null>;
641
643
  getPageStatus(): Promise<AXPPageStatus | null>;
@@ -3,7 +3,8 @@ import { Signal, InjectionToken, ComponentRef, OnInit, EventEmitter, TemplateRef
3
3
  import * as _acorex_platform_layout_widget_core from '@acorex/platform/layout/widget-core';
4
4
  import * as _ngrx_signals from '@ngrx/signals';
5
5
  import * as _acorex_platform_core from '@acorex/platform/core';
6
- import { AXPMultiLanguageString, AXPOptionsData, AXPDataType, AXPExpression, AXPWidgetTriggers, AXPMetaData, AXPValueTransformerFunctions, AXPValidationRules, AXPPartialNested, AXPContextChangeEvent, AXPExpressionEvaluatorService } from '@acorex/platform/core';
6
+ import { AXPOptionsData, AXPMultiLanguageString, AXPDefinitionCategory, AXPDataType, AXPExpression, AXPWidgetTriggers, AXPMetaData, AXPValueTransformerFunctions, AXPValidationRules, AXPPartialNested, AXPProperty, AXPContextChangeEvent, AXPExpressionEvaluatorService } from '@acorex/platform/core';
7
+ export { AXPDefinitionCategory, normalizeDefinitionCategories } from '@acorex/platform/core';
7
8
  import { AXValueChangedEvent, AXDataSource } from '@acorex/cdk/common';
8
9
  import { Subject, BehaviorSubject } from 'rxjs';
9
10
  import { AXDataTableColumnComponent } from '@acorex/components/data-table';
@@ -91,22 +92,7 @@ declare class AXPWidgetCoreService {
91
92
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPWidgetCoreService>;
92
93
  }
93
94
 
94
- interface AXPWidgetCategory {
95
- name: string;
96
- title: AXPMultiLanguageString;
97
- order: number;
98
- }
99
- /** Normalizes widget categories to an array for iteration and serialization. */
100
- declare function normalizeWidgetCategories(categories?: AXPWidgetCategory | AXPWidgetCategory[]): AXPWidgetCategory[];
101
- declare const AXP_WIDGETS_LAYOUT_CATEGORY: AXPWidgetCategory;
102
- declare const AXP_WIDGETS_EDITOR_CATEGORY: AXPWidgetCategory;
103
- declare const AXP_WIDGETS_ACTION_CATEGORY: AXPWidgetCategory;
104
- declare const AXP_WIDGETS_ADVANCE_CATEGORY: AXPWidgetCategory;
105
- /** Widgets exposed to AI assistants for structured rendering (see Widgets:GetForAI). */
106
- declare const AXP_WIDGETS_AI_CATEGORY: AXPWidgetCategory;
107
- declare const AXP_WIDGETS_CATEGORIES: AXPWidgetCategory[];
108
-
109
- type AXPWidgetGroup = 'form-element' | 'dashboard-widget' | 'form-template' | 'property-editor' | 'meta-data' | 'setting-widget' | 'entity-widget' | 'utility-widget';
95
+ type AXPWidgetGroup = 'form-element' | 'dashboard-widget' | 'form-template' | 'property-editor' | 'meta-data' | 'setting-widget' | 'entity-widget' | 'utility-widget' | 'base-widget';
110
96
  declare enum AXPWidgetGroupEnum {
111
97
  FormElement = "form-element",
112
98
  DashboardWidget = "dashboard-widget",
@@ -115,7 +101,8 @@ declare enum AXPWidgetGroupEnum {
115
101
  MetaData = "meta-data",
116
102
  SettingWidget = "setting-widget",
117
103
  EntityWidget = "entity-widget",
118
- UtilityWidget = "utility-widget"
104
+ UtilityWidget = "utility-widget",
105
+ BaseWidget = "base-widget"
119
106
  }
120
107
 
121
108
  interface AXPWidgetTypesMap {
@@ -189,20 +176,9 @@ interface AXPWidgetTypesMap {
189
176
  betweenValidation: 'between-validation';
190
177
  equalValidation: 'equal-validation';
191
178
  callbackValidation: 'callback-validation';
192
- donutChart: 'donut-chart';
193
- barChart: 'bar-chart';
194
- lineChart: 'line-chart';
195
- gaugeChart: 'gauge-chart';
196
- stickyNote: 'sticky-note';
197
- clockCalendar: 'clock-calendar';
198
- analogClock: 'analog-clock';
199
- weather: 'weather';
200
- minimalWeather: 'minimal-weather';
201
- advancedWeather: 'advanced-weather';
202
179
  metaData: 'meta-data-editor';
203
180
  templateEditor: 'template-box-editor';
204
181
  templateContentEditor: 'template-content-editor';
205
- themePaletteChooser: 'theme-palette-chooser';
206
182
  themeModeChooser: 'theme-mode-chooser';
207
183
  menuOrientationChooser: 'menu-orientation-chooser';
208
184
  fontStyleChooser: 'font-style-chooser';
@@ -212,7 +188,6 @@ interface AXPWidgetTypesMap {
212
188
  themeColorChooser: 'theme-color-chooser';
213
189
  panel: 'panel';
214
190
  notification: 'notification';
215
- taskBoard: 'task-board';
216
191
  comment: 'comment';
217
192
  list: 'list-editor';
218
193
  dataList: 'data-list';
@@ -227,8 +202,6 @@ interface AXPWidgetTypesMap {
227
202
  entityDefinitionProvider: 'entity-definition-provider-editor';
228
203
  }
229
204
 
230
- /** Inclusion mode for AI widget catalog queries (Widgets:GetForAI). */
231
- type AXPWidgetAiCatalogMode = 'include' | 'exclude' | 'inherit';
232
205
  interface AXPWidgetPropertyGroup {
233
206
  name: string;
234
207
  title: string;
@@ -324,6 +297,8 @@ interface AXPWidgetColumnNode {
324
297
  type: string;
325
298
  path: string;
326
299
  options?: AXPOptionsData;
300
+ /** Column header caption from data-table (`title || name`); often an i18n key. */
301
+ caption?: string;
327
302
  }
328
303
  interface AXPWidgetColumnNodeToken extends AXPWidgetColumnNode {
329
304
  config: AXPWidgetConfig;
@@ -370,7 +345,21 @@ interface AXPWidgetConfig<T = any> {
370
345
  * for structured output; unrelated to end-user UI copy.
371
346
  */
372
347
  aiDescription?: string | null;
373
- categories?: AXPWidgetCategory | AXPWidgetCategory[];
348
+ /**
349
+ * Picker tabs and section headings in the widget gallery (when the widget is included in the picker list).
350
+ */
351
+ categories?: AXPDefinitionCategory | AXPDefinitionCategory[];
352
+ /**
353
+ * Optional sub-group within a parent category tab in the widget picker.
354
+ * Ignored on the "All" tab (widgets are grouped by parent category only).
355
+ */
356
+ subCategory?: AXPDefinitionCategory;
357
+ /**
358
+ * Which surfaces may offer this widget. The designer widget picker includes a widget only when this list
359
+ * intersects the requested groups (e.g. the layout designer requests `AXPWidgetGroupEnum.FormElement`).
360
+ * Use `AXPWidgetGroupEnum.BaseWidget` alone for types that must stay registered (filters, renderers, AI tools)
361
+ * but must not appear in form or dashboard pickers.
362
+ */
374
363
  groups?: AXPWidgetGroup[];
375
364
  properties?: AXPWidgetProperty[];
376
365
  components: AXPWidgetConfigComponents;
@@ -386,12 +375,6 @@ interface AXPWidgetConfig<T = any> {
386
375
  * If omitted, the default display is used.
387
376
  */
388
377
  historyLayout?: AXPWidgetNode;
389
- /**
390
- * Controls inclusion in AI-facing widget catalog queries (e.g. Widgets:GetForAI).
391
- * `inherit` (default): include only when `categories` contains the AI category (`AXP_WIDGETS_AI_CATEGORY`).
392
- * `include` / `exclude`: force include or exclude regardless of categories.
393
- */
394
- aiCatalog?: AXPWidgetAiCatalogMode;
395
378
  }
396
379
  interface AXPExtendedWidget {
397
380
  widget: AXPWidgetConfig;
@@ -522,6 +505,8 @@ declare abstract class AXPColumnWidgetComponent<T = any | null | void> {
522
505
  private readonly token;
523
506
  protected readonly path: string;
524
507
  protected readonly options: Record<string, any>;
508
+ /** Column header caption when rendered inside `axp-widget-column-renderer`. */
509
+ protected readonly columnCaption: string | undefined;
525
510
  protected readonly rawValue: T;
526
511
  protected readonly rowData: any;
527
512
  protected readonly nullText: any;
@@ -548,6 +533,33 @@ declare abstract class AXPBlockBaseLayoutWidgetComponent extends AXPBoxModelLayo
548
533
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPBlockBaseLayoutWidgetComponent>;
549
534
  }
550
535
 
536
+ /**
537
+ * Maps a platform {@link AXPProperty} to a property viewer row model ({@link AXPWidgetProperty}).
538
+ * Kept in widget-core (not platform/core) to avoid a dependency cycle: widget-core already depends on platform/core.
539
+ */
540
+ interface MapAXPPropertyToWidgetPropertyOptions {
541
+ group: AXPWidgetPropertyGroup;
542
+ order: number;
543
+ /**
544
+ * Dot path prefix for {@link AXPWidgetProperty.schema.interface.path}.
545
+ * Example: `input` → `input.requestId`; `properties` → `properties.message`.
546
+ */
547
+ valuePathPrefix: string;
548
+ /**
549
+ * Resolves a display title (supports multi-language strings on the source property).
550
+ */
551
+ resolveTitle: (property: AXPProperty) => string;
552
+ /**
553
+ * Optional description line for the viewer row.
554
+ */
555
+ resolveDescription?: (property: AXPProperty) => string | undefined;
556
+ }
557
+ /**
558
+ * Converts a domain {@link AXPProperty} into a {@link AXPWidgetProperty} row for
559
+ * the layout property viewer (`AXPPropertyViewerService` and `buildPropertyViewerTabsFromProperties`).
560
+ */
561
+ declare function mapAXPPropertyToWidgetProperty(property: AXPProperty, options: MapAXPPropertyToWidgetPropertyOptions): AXPWidgetProperty;
562
+
551
563
  type AXPPropertyEditorSideValues = 'top' | 'left' | 'bottom' | 'right';
552
564
  type AXPPropertyEditorCornerValues = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
553
565
  type AXPPropertyEditorSideGeneric<T extends string, U extends string | number = string> = Record<T, U>;
@@ -1070,17 +1082,34 @@ interface AXPMetaDataDefinition {
1070
1082
 
1071
1083
  declare const AXPWidgetsCatalog: AXPWidgetTypesMap;
1072
1084
 
1073
- /**
1074
- * True when the widget declares the AI category (see {@link AXP_WIDGETS_AI_CATEGORY}).
1075
- */
1076
- declare function hasAiWidgetCategory(config: AXPWidgetConfig): boolean;
1077
- /**
1078
- * Resolves AI catalog visibility using {@link AXPWidgetConfig.aiCatalog} and the AI widget category.
1079
- * - `exclude`: never listed.
1080
- * - `include`: always listed (override when the widget cannot declare the AI category yet).
1081
- * - `inherit` / omitted: listed only if {@link hasAiWidgetCategory} is true.
1082
- */
1083
- declare function isWidgetAiCatalogIncluded(config: AXPWidgetConfig): boolean;
1085
+ declare const AXP_WIDGETS_EDITOR_SUB_TEXT_INPUTS: AXPDefinitionCategory;
1086
+ declare const AXP_WIDGETS_EDITOR_SUB_NUMERIC: AXPDefinitionCategory;
1087
+ declare const AXP_WIDGETS_EDITOR_SUB_DATETIME: AXPDefinitionCategory;
1088
+ declare const AXP_WIDGETS_EDITOR_SUB_CHOICE: AXPDefinitionCategory;
1089
+ declare const AXP_WIDGETS_EDITOR_SUB_RICH: AXPDefinitionCategory;
1090
+ declare const AXP_WIDGETS_EDITOR_SUB_VISUAL: AXPDefinitionCategory;
1091
+ declare const AXP_WIDGETS_EDITOR_SUB_COMPOSITE: AXPDefinitionCategory;
1092
+ declare const AXP_WIDGETS_EDITOR_SUB_CONFIG: AXPDefinitionCategory;
1093
+ declare const AXP_WIDGETS_LAYOUT_SUB_SHELL: AXPDefinitionCategory;
1094
+ declare const AXP_WIDGETS_LAYOUT_SUB_GRID: AXPDefinitionCategory;
1095
+ declare const AXP_WIDGETS_LAYOUT_SUB_SURFACES: AXPDefinitionCategory;
1096
+ declare const AXP_WIDGETS_LAYOUT_SUB_TABS: AXPDefinitionCategory;
1097
+ declare const AXP_WIDGETS_LAYOUT_SUB_LISTS: AXPDefinitionCategory;
1098
+ declare const AXP_WIDGETS_LAYOUT_SUB_UTILITY: AXPDefinitionCategory;
1099
+ declare const AXP_WIDGETS_ACTION_SUB_CONTROLS: AXPDefinitionCategory;
1100
+ declare const AXP_WIDGETS_ADVANCE_SUB_MEDIA: AXPDefinitionCategory;
1101
+ declare const AXP_WIDGETS_ADVANCE_SUB_INPUT: AXPDefinitionCategory;
1102
+ declare const AXP_WIDGETS_ADVANCE_SUB_DATA: AXPDefinitionCategory;
1103
+ declare const AXP_WIDGETS_ADVANCE_SUB_TOOLS: AXPDefinitionCategory;
1104
+ /** Normalizes widget categories to an array for iteration and serialization. */
1105
+ declare function normalizeWidgetCategories(categories?: AXPDefinitionCategory | AXPDefinitionCategory[]): AXPDefinitionCategory[];
1106
+ declare const AXP_WIDGETS_LAYOUT_CATEGORY: AXPDefinitionCategory;
1107
+ declare const AXP_WIDGETS_EDITOR_CATEGORY: AXPDefinitionCategory;
1108
+ declare const AXP_WIDGETS_ACTION_CATEGORY: AXPDefinitionCategory;
1109
+ declare const AXP_WIDGETS_ADVANCE_CATEGORY: AXPDefinitionCategory;
1110
+ /** AI category tab in the widget picker (metadata); unrelated to Widgets:GetForAI listing scope. */
1111
+ declare const AXP_WIDGETS_AI_CATEGORY: AXPDefinitionCategory;
1112
+ declare const AXP_WIDGETS_CATEGORIES: AXPDefinitionCategory[];
1084
1113
 
1085
- export { AXPBaseWidgetComponent, AXPBlockBaseLayoutWidgetComponent, AXPBoxModelLayoutWidgetComponent, AXPColumnWidgetComponent, AXPDataListWidgetComponent, AXPFlexBaseLayoutWidgetComponent, AXPFlexItemBaseLayoutWidgetComponent, AXPGridBaseLayoutWidgetComponent, AXPGridItemBaseLayoutWidgetComponent, AXPInlineBaseLayoutWidgetComponent, AXPLayoutBaseWidgetComponent, AXPPageStatus, AXPPropertyEditorHelper, AXPTableBaseLayoutWidgetComponent, AXPTableItemBaseLayoutWidgetComponent, AXPTableItemOpsBaseLayoutWidgetComponent, AXPValueWidgetComponent, AXPWidgetColumnRendererComponent, AXPWidgetContainerComponent, AXPWidgetCoreElement, AXPWidgetCoreModule, AXPWidgetCoreService, AXPWidgetGroupEnum, AXPWidgetRegistryService, AXPWidgetRendererDirective, AXPWidgetSerializationHelper, AXPWidgetStatus, AXPWidgetsCatalog, AXP_WIDGETS_ACTION_CATEGORY, AXP_WIDGETS_ADVANCE_CATEGORY, AXP_WIDGETS_AI_CATEGORY, AXP_WIDGETS_CATEGORIES, AXP_WIDGETS_EDITOR_CATEGORY, AXP_WIDGETS_LAYOUT_CATEGORY, AXP_WIDGET_COLUMN_TOKEN, AXP_WIDGET_DEFINITION_PROVIDER, AXP_WIDGET_TOKEN, buildWidgetRegistryMapFromProviders, cloneProperty, createBooleanProperty, createNumberProperty, createSelectProperty, createStringProperty, findNonEmptyBreakpoints, hasAiWidgetCategory, isWidgetAiCatalogIncluded, normalizeWidgetCategories };
1086
- export type { AXPBorderBox, AXPBorderBoxString, AXPBreakpointValues, AXPBreakpoints, AXPClassMap, AXPExtendedWidget, AXPExtractWidgetConfig, AXPFlexBoxString, AXPFlexItemBoxString, AXPGridBoxString, AXPGridBreakpointValues, AXPGridItemBoxString, AXPLayoutBuilderStatusChangedEvent, AXPMetaDataDefinition, AXPMetaDataFeatures, AXPPropertyCorners, AXPPropertyEditorCornerValues, AXPPropertyEditorSideGeneric, AXPPropertyEditorSideValues, AXPPropertySides, AXPSpacingBox, AXPSpacingBoxString, AXPStyleMap, AXPWidgetAiCatalogMode, AXPWidgetCategory, AXPWidgetColumnNode, AXPWidgetColumnNodeToken, AXPWidgetComponentConfig, AXPWidgetConfig, AXPWidgetConfigComponents, AXPWidgetCoreElementAPI, AXPWidgetCoreElementAction, AXPWidgetCoreModuleConfigs, AXPWidgetDefinitionProvider, AXPWidgetDesignerOptionsMap, AXPWidgetGroup, AXPWidgetNode, AXPWidgetNodeToken, AXPWidgetProperty, AXPWidgetPropertyGroup, AXPWidgetRenderMode, AXPWidgetRendererDirectiveOptions, AXPWidgetTypesMap, AXPWidgetViewType };
1114
+ export { AXPBaseWidgetComponent, AXPBlockBaseLayoutWidgetComponent, AXPBoxModelLayoutWidgetComponent, AXPColumnWidgetComponent, AXPDataListWidgetComponent, AXPFlexBaseLayoutWidgetComponent, AXPFlexItemBaseLayoutWidgetComponent, AXPGridBaseLayoutWidgetComponent, AXPGridItemBaseLayoutWidgetComponent, AXPInlineBaseLayoutWidgetComponent, AXPLayoutBaseWidgetComponent, AXPPageStatus, AXPPropertyEditorHelper, AXPTableBaseLayoutWidgetComponent, AXPTableItemBaseLayoutWidgetComponent, AXPTableItemOpsBaseLayoutWidgetComponent, AXPValueWidgetComponent, AXPWidgetColumnRendererComponent, AXPWidgetContainerComponent, AXPWidgetCoreElement, AXPWidgetCoreModule, AXPWidgetCoreService, AXPWidgetGroupEnum, AXPWidgetRegistryService, AXPWidgetRendererDirective, AXPWidgetSerializationHelper, AXPWidgetStatus, AXPWidgetsCatalog, AXP_WIDGETS_ACTION_CATEGORY, AXP_WIDGETS_ACTION_SUB_CONTROLS, AXP_WIDGETS_ADVANCE_CATEGORY, AXP_WIDGETS_ADVANCE_SUB_DATA, AXP_WIDGETS_ADVANCE_SUB_INPUT, AXP_WIDGETS_ADVANCE_SUB_MEDIA, AXP_WIDGETS_ADVANCE_SUB_TOOLS, AXP_WIDGETS_AI_CATEGORY, AXP_WIDGETS_CATEGORIES, AXP_WIDGETS_EDITOR_CATEGORY, AXP_WIDGETS_EDITOR_SUB_CHOICE, AXP_WIDGETS_EDITOR_SUB_COMPOSITE, AXP_WIDGETS_EDITOR_SUB_CONFIG, AXP_WIDGETS_EDITOR_SUB_DATETIME, AXP_WIDGETS_EDITOR_SUB_NUMERIC, AXP_WIDGETS_EDITOR_SUB_RICH, AXP_WIDGETS_EDITOR_SUB_TEXT_INPUTS, AXP_WIDGETS_EDITOR_SUB_VISUAL, AXP_WIDGETS_LAYOUT_CATEGORY, AXP_WIDGETS_LAYOUT_SUB_GRID, AXP_WIDGETS_LAYOUT_SUB_LISTS, AXP_WIDGETS_LAYOUT_SUB_SHELL, AXP_WIDGETS_LAYOUT_SUB_SURFACES, AXP_WIDGETS_LAYOUT_SUB_TABS, AXP_WIDGETS_LAYOUT_SUB_UTILITY, AXP_WIDGET_COLUMN_TOKEN, AXP_WIDGET_DEFINITION_PROVIDER, AXP_WIDGET_TOKEN, buildWidgetRegistryMapFromProviders, cloneProperty, createBooleanProperty, createNumberProperty, createSelectProperty, createStringProperty, findNonEmptyBreakpoints, mapAXPPropertyToWidgetProperty, normalizeWidgetCategories };
1115
+ export type { AXPBorderBox, AXPBorderBoxString, AXPBreakpointValues, AXPBreakpoints, AXPClassMap, AXPExtendedWidget, AXPExtractWidgetConfig, AXPFlexBoxString, AXPFlexItemBoxString, AXPGridBoxString, AXPGridBreakpointValues, AXPGridItemBoxString, AXPLayoutBuilderStatusChangedEvent, AXPMetaDataDefinition, AXPMetaDataFeatures, AXPPropertyCorners, AXPPropertyEditorCornerValues, AXPPropertyEditorSideGeneric, AXPPropertyEditorSideValues, AXPPropertySides, AXPSpacingBox, AXPSpacingBoxString, AXPStyleMap, AXPWidgetColumnNode, AXPWidgetColumnNodeToken, AXPWidgetComponentConfig, AXPWidgetConfig, AXPWidgetConfigComponents, AXPWidgetCoreElementAPI, AXPWidgetCoreElementAction, AXPWidgetCoreModuleConfigs, AXPWidgetDefinitionProvider, AXPWidgetDesignerOptionsMap, AXPWidgetGroup, AXPWidgetNode, AXPWidgetNodeToken, AXPWidgetProperty, AXPWidgetPropertyGroup, AXPWidgetRenderMode, AXPWidgetRendererDirectiveOptions, AXPWidgetTypesMap, AXPWidgetViewType, MapAXPPropertyToWidgetPropertyOptions };
@@ -5,7 +5,7 @@ import { OnInit, WritableSignal, InjectionToken, EventEmitter, Signal, OnDestroy
5
5
  import { AXValueChangedEvent, AXDataSourceFilterOption, AXStyleColorType, AXClickEvent, AXStyleLookType, AXDataSource, AXDirection, AXButtonClickEvent } from '@acorex/cdk/common';
6
6
  import { AXBasePageComponent } from '@acorex/components/page';
7
7
  import * as _acorex_platform_core from '@acorex/platform/core';
8
- import { AXPDeviceService, AXPContextChangeEvent, AXPFilterClause, AXPFilterDefinition, AXPValidationRule, AXPTag, AXPFileListItem, AXPExpressionEvaluatorService, AXPExecuteCommandResult, AXPMultiLanguageString, AXPActionMenuItem, AXPDataSourceDefinition } from '@acorex/platform/core';
8
+ import { AXPDeviceService, AXPContextChangeEvent, AXPFilterClause, AXPFilterDefinition, AXPValidationRule, AXPTag, AXPFileListItem, AXPExpressionEvaluatorService, AXPExecuteCommandResult, AXPActionMenuItem, AXPDataSourceDefinition } from '@acorex/platform/core';
9
9
  import { AXSelectBoxComponent } from '@acorex/components/select-box';
10
10
  import { AXPClipBoardService, AXPLanguage, AXCFileUploaderCapabilities, AXCFileUploaderAction, AXPStatusDefinition, AXPStatusTransition, AXPStatusProvider } from '@acorex/platform/common';
11
11
  import { AXDropListDroppedEvent } from '@acorex/cdk/drag-drop';
@@ -27,6 +27,7 @@ import { AXQrcodeLevel, AXQrcodeOutputType } from '@acorex/components/qrcode';
27
27
  import { AXSchedulerPickerValue, AXSchedulerPickerSettings } from '@acorex/components/scheduler-picker';
28
28
  import { AXPaintContainerComponent, AXPaintViewComponent } from '@acorex/components/paint';
29
29
  import { AXPopoverComponent } from '@acorex/components/popover';
30
+ import * as _acorex_core_translation from '@acorex/core/translation';
30
31
  import { AXGridLayoutOptions, AXGridLayoutNode } from '@acorex/components/grid-layout-builder';
31
32
  import * as _acorex_platform_layout_widgets from '@acorex/platform/layout/widgets';
32
33
  import { AXStepWizardComponent } from '@acorex/components/step-wizard';
@@ -1183,7 +1184,6 @@ declare class AXPLargeTextWidgetEditComponent extends AXPValueWidgetComponent<st
1183
1184
  protected rows: _angular_core.Signal<number>;
1184
1185
  private popupService;
1185
1186
  private translationService;
1186
- private readonly mlResolver;
1187
1187
  private readonly currentLanguage;
1188
1188
  ngOnInit(): void;
1189
1189
  handleValueChange(e: AXValueChangedEvent): void;
@@ -1567,6 +1567,11 @@ declare class AXPRichTextWidgetColumnComponent extends AXPColumnWidgetComponent<
1567
1567
  private platform;
1568
1568
  private readonly layoutBuilder;
1569
1569
  private readonly mlResolver;
1570
+ /** Plain-text length threshold: above this, cell is clamped and clickable for full preview. */
1571
+ protected previewMaxChars(): number;
1572
+ /** Whether resolved HTML is long enough to warrant truncation + popup. */
1573
+ protected isTruncatedPreview(resolvedHtml: string): boolean;
1574
+ protected onExpandClick(event: AXClickEvent): void;
1570
1575
  protected openPopup(): Promise<void>;
1571
1576
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPRichTextWidgetColumnComponent, never>;
1572
1577
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPRichTextWidgetColumnComponent, "axp-rich-text-widget-column", never, { "rawValue": { "alias": "rawValue"; "required": false; }; "rowData": { "alias": "rowData"; "required": false; }; }, {}, never, never, true, never>;
@@ -1582,7 +1587,6 @@ declare class AXPRichTextWidgetEditComponent extends AXPValueWidgetComponent<str
1582
1587
  protected onWysiwygChanged(e: AXValueChangedEvent<string>): void;
1583
1588
  private popupService;
1584
1589
  private translationService;
1585
- private readonly mlResolver;
1586
1590
  currentLanguage: _angular_core.Signal<string>;
1587
1591
  ngOnInit(): void;
1588
1592
  protected getCurrentText: _angular_core.Signal<string>;
@@ -1595,8 +1599,12 @@ declare class AXPRichTextWidgetViewComponent extends AXPValueWidgetComponent<str
1595
1599
  private platform;
1596
1600
  private readonly layoutBuilder;
1597
1601
  private readonly mlResolver;
1598
- /** Resolved HTML for the preview dialog (same rules as the inline snippet). */
1602
+ private readonly currentLanguage;
1603
+ /** Resolved HTML for inline snippet and preview dialog. */
1599
1604
  protected displayHtml: _angular_core.Signal<string>;
1605
+ /** Full-body preview (dialogs) vs truncated grid snippet. */
1606
+ protected showFullContent: _angular_core.Signal<boolean>;
1607
+ protected previewMaxHeightPx: _angular_core.Signal<number>;
1600
1608
  protected openPopup(): Promise<void>;
1601
1609
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPRichTextWidgetViewComponent, never>;
1602
1610
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPRichTextWidgetViewComponent, "axp-rich-text-widget-view", never, {}, {}, never, never, true, never>;
@@ -1618,6 +1626,10 @@ interface AXPRichTextWidgetDesignerOptions {
1618
1626
  fitLineCount?: boolean;
1619
1627
  }
1620
1628
  interface AXPRichTextWidgetViewOptions {
1629
+ /** Scrollable full HTML in view mode (e.g. layout-builder preview dialogs). */
1630
+ showFullContent?: boolean;
1631
+ /** Max height in px when `showFullContent` is true; defaults to 400. */
1632
+ height?: number;
1621
1633
  }
1622
1634
  interface AXPRichTextWidgetEditOptions {
1623
1635
  placeholder?: string;
@@ -1629,6 +1641,11 @@ interface AXPRichTextWidgetEditOptions {
1629
1641
  fitLineCount?: boolean;
1630
1642
  }
1631
1643
  interface AXPRichTextWidgetColumnOptions {
1644
+ /**
1645
+ * Plain-text length above which the grid cell is line-clamped and opens the preview dialog on click.
1646
+ * @default 100
1647
+ */
1648
+ previewMaxChars?: number;
1632
1649
  }
1633
1650
  interface AXPRichTextWidgetPrintOptions {
1634
1651
  }
@@ -2003,7 +2020,6 @@ declare class AXPTextBoxWidgetColumnComponent extends AXPColumnWidgetComponent<s
2003
2020
  declare class AXPTextBoxWidgetEditComponent extends AXPValueWidgetComponent<string | Record<string, string> | undefined> {
2004
2021
  private popupService;
2005
2022
  private translationService;
2006
- private readonly mlResolver;
2007
2023
  protected multiLanguage: _angular_core.Signal<boolean>;
2008
2024
  protected hasClearButton: _angular_core.Signal<boolean>;
2009
2025
  protected disabled: _angular_core.Signal<boolean>;
@@ -2542,7 +2558,7 @@ declare class AXPFileListComponent implements OnInit, OnDestroy {
2542
2558
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPFileListComponent, "axp-file-list", never, { "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "fileEditable": { "alias": "fileEditable"; "required": false; "isSignal": true; }; "enableTitleDescription": { "alias": "enableTitleDescription"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "files": { "alias": "files"; "required": false; "isSignal": true; }; "plugins": { "alias": "plugins"; "required": false; "isSignal": true; }; "excludePlugins": { "alias": "excludePlugins"; "required": false; "isSignal": true; }; "capabilities": { "alias": "capabilities"; "required": false; "isSignal": true; }; }, { "onRemove": "onRemove"; "onRevert": "onRevert"; "onRename": "onRename"; }, never, never, true, never>;
2543
2559
  }
2544
2560
 
2545
- declare class AXPFileUploaderWidgetColumnComponent extends AXPColumnWidgetComponent<string[]> {
2561
+ declare class AXPFileUploaderWidgetColumnComponent extends AXPColumnWidgetComponent<AXPFileListItem[]> {
2546
2562
  protected count: _angular_core.Signal<number>;
2547
2563
  private fileService;
2548
2564
  openFileList(): Promise<void>;
@@ -2667,7 +2683,7 @@ declare class AXPFileUploaderWidgetService {
2667
2683
  private popupService;
2668
2684
  private translate;
2669
2685
  showFileList(options?: {
2670
- files?: AXPFileListItem[] | string[];
2686
+ files?: AXPFileListItem[];
2671
2687
  /** When true, user cannot add or change files (matches file-uploader widget options). */
2672
2688
  'readonly'?: boolean;
2673
2689
  multiple?: boolean;
@@ -3236,6 +3252,8 @@ declare class AXPStatusChipComponent {
3236
3252
  protected isPopoverOpen: _angular_core.WritableSignal<boolean>;
3237
3253
  protected isUpdating: _angular_core.WritableSignal<boolean>;
3238
3254
  protected providerSignal: _angular_core.WritableSignal<AXPStatusProvider | undefined>;
3255
+ /** Native tooltip from translated `AXPStatusDefinition.description` (i18n key). */
3256
+ protected chipTooltip: _angular_core.WritableSignal<string | null>;
3239
3257
  protected statuses: _angular_core.Signal<AXPStatusDefinition[]>;
3240
3258
  protected transitions: _angular_core.Signal<AXPStatusTransition[]>;
3241
3259
  /**
@@ -3250,6 +3268,7 @@ declare class AXPStatusChipComponent {
3250
3268
  * Load status provider when definitionKey changes
3251
3269
  */
3252
3270
  private loadProvider;
3271
+ private syncDescriptionTooltip;
3253
3272
  /**
3254
3273
  * Open the popover
3255
3274
  */
@@ -3281,6 +3300,10 @@ declare class AXPStatusWidgetColumnComponent extends AXPColumnWidgetComponent<an
3281
3300
  private providerSignal;
3282
3301
  private loadProvider;
3283
3302
  protected definitionKey: _angular_core.Signal<string | null>;
3303
+ /**
3304
+ * When true, the grid cell is display-only (no transition popover). Default false preserves existing grids.
3305
+ */
3306
+ protected columnReadonly: _angular_core.Signal<boolean>;
3284
3307
  protected entityData: _angular_core.Signal<Record<string, any> | null>;
3285
3308
  private readonly resolvedStatuses;
3286
3309
  private readonly resolvedTransitions;
@@ -3302,6 +3325,8 @@ declare class AXPStatusWidgetEditComponent extends AXPValueWidgetComponent<any |
3302
3325
  protected statusChip: _angular_core.Signal<AXPStatusChipComponent | undefined>;
3303
3326
  private readonly statusService;
3304
3327
  protected definitionKey: _angular_core.Signal<string | null>;
3328
+ /** When true, the chip is display-only (no transition popover). Set via interface options. */
3329
+ protected isReadonly: _angular_core.Signal<boolean>;
3305
3330
  protected providerSignal: _angular_core.WritableSignal<AXPStatusProvider | undefined>;
3306
3331
  protected statuses: _angular_core.Signal<AXPStatusDefinition[]>;
3307
3332
  protected transitions: _angular_core.Signal<AXPStatusTransition[]>;
@@ -3323,7 +3348,7 @@ declare class AXPStatusWidgetEditComponent extends AXPValueWidgetComponent<any |
3323
3348
  protected onTransitionExecuted(transition: AXPStatusTransitionWithTarget): void;
3324
3349
  protected onTransitionError(error: Error): void;
3325
3350
  /**
3326
- * Get entity data for command execution context
3351
+ * Build context for default `Entity:UpdateStatus` (entity key, record id, status field path).
3327
3352
  */
3328
3353
  protected getEntityData(): Record<string, any> | null;
3329
3354
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPStatusWidgetEditComponent, never>;
@@ -3334,6 +3359,8 @@ declare class AXPStatusWidgetViewComponent extends AXPDataListWidgetComponent {
3334
3359
  protected statusChip: _angular_core.Signal<AXPStatusChipComponent | undefined>;
3335
3360
  private readonly statusService;
3336
3361
  protected definitionKey: _angular_core.Signal<string | null>;
3362
+ /** When true, the chip is display-only (no transition popover). Set via interface options. */
3363
+ protected isReadonly: _angular_core.Signal<boolean>;
3337
3364
  private providerSignal;
3338
3365
  private resolvedStatuses;
3339
3366
  private resolvedTransitions;
@@ -3439,7 +3466,7 @@ declare const AXPWidgetFieldConfiguratorWidget: AXPWidgetConfig;
3439
3466
  declare class AXPWidgetFieldConfiguratorWidgetEditComponent extends AXPValueWidgetComponent<AXPWidgetNode> {
3440
3467
  protected readonly: _angular_core.Signal<boolean>;
3441
3468
  protected fieldName: _angular_core.Signal<string>;
3442
- protected fieldTitle: _angular_core.Signal<AXPMultiLanguageString>;
3469
+ protected fieldTitle: _angular_core.Signal<_acorex_core_translation.AXMultiLanguageString>;
3443
3470
  protected label: _angular_core.Signal<string>;
3444
3471
  protected isInitialized: _angular_core.WritableSignal<boolean>;
3445
3472
  protected widgetConfigModel: _angular_core.ModelSignal<AXPWidgetNode>;
@@ -3785,8 +3812,8 @@ interface AXPBlockWidgetOptions {
3785
3812
  }
3786
3813
 
3787
3814
  declare class AXPFieldsetWidgetDesignerComponent extends AXPLayoutBaseWidgetComponent {
3788
- protected title: _angular_core.Signal<AXPMultiLanguageString>;
3789
- protected description: _angular_core.Signal<AXPMultiLanguageString>;
3815
+ protected title: _angular_core.Signal<_acorex_core_translation.AXMultiLanguageString>;
3816
+ protected description: _angular_core.Signal<_acorex_core_translation.AXMultiLanguageString>;
3790
3817
  protected icon: _angular_core.Signal<string>;
3791
3818
  protected collapsible: _angular_core.Signal<boolean>;
3792
3819
  protected isOpen: _angular_core.WritableSignal<boolean>;
@@ -3801,8 +3828,8 @@ declare class AXPFieldsetWidgetDesignerComponent extends AXPLayoutBaseWidgetComp
3801
3828
  type AXPFieldsetWidgetLook = 'fieldset' | 'card' | 'group' | 'container';
3802
3829
 
3803
3830
  declare class AXPFieldsetWidgetViewComponent extends AXPLayoutBaseWidgetComponent {
3804
- protected title: _angular_core.Signal<AXPMultiLanguageString>;
3805
- protected description: _angular_core.Signal<AXPMultiLanguageString>;
3831
+ protected title: _angular_core.Signal<_acorex_core_translation.AXMultiLanguageString>;
3832
+ protected description: _angular_core.Signal<_acorex_core_translation.AXMultiLanguageString>;
3806
3833
  protected icon: _angular_core.Signal<string>;
3807
3834
  protected collapsible: _angular_core.Signal<boolean>;
3808
3835
  protected isOpen: _angular_core.WritableSignal<boolean>;
@@ -5382,7 +5409,7 @@ declare class AXPWidgetsModule {
5382
5409
  }
5383
5410
 
5384
5411
  interface AXPGetWidgetsForAIQueryInput {
5385
- /** When set, returns full serializable metadata for that widget; otherwise returns the AI catalog list. */
5412
+ /** When set, returns full serializable metadata for that widget; otherwise returns the full registry list (no filtering). */
5386
5413
  name?: string;
5387
5414
  }
5388
5415
  interface AXPGetWidgetsForAIQueryListItem {
@@ -5419,7 +5446,6 @@ interface AXPGetWidgetsForAIQuerySerializableWidget {
5419
5446
  designer?: AXPWidgetConfig['designer'];
5420
5447
  options?: AXPWidgetConfig['options'];
5421
5448
  defaultFilterWidgetName?: AXPWidgetConfig['defaultFilterWidgetName'];
5422
- aiCatalog?: AXPWidgetConfig['aiCatalog'];
5423
5449
  }
5424
5450
  interface AXPGetWidgetsForAIQuerySerializableComponents {
5425
5451
  designer?: {
@@ -5466,7 +5492,7 @@ type AXPGetWidgetsForAIQueryResult = {
5466
5492
  error: string;
5467
5493
  };
5468
5494
  /**
5469
- * Read-only catalog of widgets suitable for AI structured rendering (Widgets:GetForAI).
5495
+ * Read-only full widget registry (Widgets:GetForAI). Lists every registered widget.
5470
5496
  */
5471
5497
  declare class AXPGetWidgetsForAIQuery implements AXPQuery<AXPGetWidgetsForAIQueryInput | undefined, AXPGetWidgetsForAIQueryResult> {
5472
5498
  private readonly registry;