@acorex/platform 20.3.0-next.1 → 20.3.0-next.3

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 (113) hide show
  1. package/common/index.d.ts +120 -5
  2. package/core/index.d.ts +102 -61
  3. package/fesm2022/acorex-platform-auth.mjs +20 -20
  4. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-common.mjs +136 -112
  6. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-core.mjs +287 -198
  8. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-domain.mjs +16 -16
  10. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-layout-builder.mjs +1226 -687
  12. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-components.mjs +1525 -129
  14. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-designer.mjs +159 -204
  16. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-layout-entity.mjs +3674 -1154
  18. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  19. package/fesm2022/acorex-platform-layout-views.mjs +387 -86
  20. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-native.mjs +7 -7
  22. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-runtime.mjs +40 -40
  24. package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
  25. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-hHXxHlFG.mjs → acorex-platform-themes-default-entity-master-create-view.component-BXbkGGei.mjs} +6 -6
  26. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-hHXxHlFG.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-BXbkGGei.mjs.map} +1 -1
  27. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-X0hLRZhX.mjs +708 -0
  28. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-X0hLRZhX.mjs.map +1 -0
  29. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-DC3MrDtI.mjs → acorex-platform-themes-default-entity-master-modify-view.component-Bp1JLsj1.mjs} +6 -13
  30. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Bp1JLsj1.mjs.map +1 -0
  31. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs +244 -0
  32. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-BExtm1JE.mjs.map +1 -0
  33. package/fesm2022/{acorex-platform-themes-default-error-401.component-D4glpFvU.mjs → acorex-platform-themes-default-error-401.component-DrO1PEOH.mjs} +4 -4
  34. package/fesm2022/{acorex-platform-themes-default-error-401.component-D4glpFvU.mjs.map → acorex-platform-themes-default-error-401.component-DrO1PEOH.mjs.map} +1 -1
  35. package/fesm2022/{acorex-platform-themes-default-error-404.component-BvGeDMjo.mjs → acorex-platform-themes-default-error-404.component-DqVq0oHX.mjs} +4 -4
  36. package/fesm2022/{acorex-platform-themes-default-error-404.component-BvGeDMjo.mjs.map → acorex-platform-themes-default-error-404.component-DqVq0oHX.mjs.map} +1 -1
  37. package/fesm2022/{acorex-platform-themes-default-error-offline.component-BINy-Zo3.mjs → acorex-platform-themes-default-error-offline.component-Bt2PTL7_.mjs} +4 -4
  38. package/fesm2022/{acorex-platform-themes-default-error-offline.component-BINy-Zo3.mjs.map → acorex-platform-themes-default-error-offline.component-Bt2PTL7_.mjs.map} +1 -1
  39. package/fesm2022/acorex-platform-themes-default.mjs +64 -509
  40. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  41. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-C833prGO.mjs → acorex-platform-themes-shared-icon-chooser-view.component-KpZWpnOJ.mjs} +4 -4
  42. package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-C833prGO.mjs.map → acorex-platform-themes-shared-icon-chooser-view.component-KpZWpnOJ.mjs.map} +1 -1
  43. package/fesm2022/acorex-platform-themes-shared-settings.provider-CXiRmniv.mjs.map +1 -1
  44. package/fesm2022/{acorex-platform-themes-shared-color-chooser-column.component-DjKLg513.mjs → acorex-platform-themes-shared-theme-color-chooser-column.component-BvOiVCgt.mjs} +4 -4
  45. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-column.component-BvOiVCgt.mjs.map +1 -0
  46. package/fesm2022/{acorex-platform-themes-shared-color-chooser-view.component-DE0wO98F.mjs → acorex-platform-themes-shared-theme-color-chooser-view.component-BW0rfkjk.mjs} +4 -4
  47. package/fesm2022/acorex-platform-themes-shared-theme-color-chooser-view.component-BW0rfkjk.mjs.map +1 -0
  48. package/fesm2022/acorex-platform-themes-shared.mjs +50 -52
  49. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  50. package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-lNF95FJv.mjs → acorex-platform-widgets-button-widget-designer.component-C2Qn1YAW.mjs} +6 -6
  51. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-C2Qn1YAW.mjs.map +1 -0
  52. package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-BNBOATPB.mjs → acorex-platform-widgets-checkbox-widget-column.component-CzEFmKWG.mjs} +4 -5
  53. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CzEFmKWG.mjs.map +1 -0
  54. package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-BI18uzNZ.mjs → acorex-platform-widgets-checkbox-widget-designer.component-JC_nYunG.mjs} +5 -5
  55. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-JC_nYunG.mjs.map +1 -0
  56. package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-C6-QPsnb.mjs → acorex-platform-widgets-checkbox-widget-view.component-C-4bWr9G.mjs} +4 -4
  57. package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-C6-QPsnb.mjs.map → acorex-platform-widgets-checkbox-widget-view.component-C-4bWr9G.mjs.map} +1 -1
  58. package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-pYOQv5g8.mjs → acorex-platform-widgets-color-box-widget-designer.component-CxgKO2VI.mjs} +5 -5
  59. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-CxgKO2VI.mjs.map +1 -0
  60. package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs +50 -0
  61. package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-edit.component-D9mf08rU.mjs.map +1 -0
  62. package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs +42 -0
  63. package/fesm2022/acorex-platform-widgets-extra-properties-schema-widget-view.component-D6GQ-eyr.mjs.map +1 -0
  64. package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs +55 -0
  65. package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-edit.component-DVbIdVZ6.mjs.map +1 -0
  66. package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs +50 -0
  67. package/fesm2022/acorex-platform-widgets-extra-properties-values-widget-view.component-D-aM64Hu.mjs.map +1 -0
  68. package/fesm2022/acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs +48 -0
  69. package/fesm2022/acorex-platform-widgets-extra-properties-widget-edit.component-em2-aU8E.mjs.map +1 -0
  70. package/fesm2022/acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs +42 -0
  71. package/fesm2022/acorex-platform-widgets-extra-properties-widget-view.component-BeuIofdr.mjs.map +1 -0
  72. package/fesm2022/{acorex-platform-widgets-file-list-popup.component-DFbPO0ud.mjs → acorex-platform-widgets-file-list-popup.component-rW2RD35f.mjs} +71 -6
  73. package/fesm2022/acorex-platform-widgets-file-list-popup.component-rW2RD35f.mjs.map +1 -0
  74. package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-DRsLkulH.mjs → acorex-platform-widgets-page-widget-designer.component-DNvnQ4Mc.mjs} +77 -67
  75. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-DNvnQ4Mc.mjs.map +1 -0
  76. package/fesm2022/{acorex-platform-widgets-rich-text-popup.component-CM_v-cL4.mjs → acorex-platform-widgets-rich-text-popup.component-Cydlpsat.mjs} +4 -4
  77. package/fesm2022/{acorex-platform-widgets-rich-text-popup.component-CM_v-cL4.mjs.map → acorex-platform-widgets-rich-text-popup.component-Cydlpsat.mjs.map} +1 -1
  78. package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-nLZYiPnF.mjs → acorex-platform-widgets-tabular-data-edit-popup.component-CPVRbE8B.mjs} +8 -8
  79. package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-nLZYiPnF.mjs.map → acorex-platform-widgets-tabular-data-edit-popup.component-CPVRbE8B.mjs.map} +1 -1
  80. package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-D6kiasYM.mjs → acorex-platform-widgets-tabular-data-view-popup.component-Dmg5DdX8.mjs} +6 -6
  81. package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-D6kiasYM.mjs.map → acorex-platform-widgets-tabular-data-view-popup.component-Dmg5DdX8.mjs.map} +1 -1
  82. package/fesm2022/{acorex-platform-widgets-text-block-widget-designer.component-CCMQtH3e.mjs → acorex-platform-widgets-text-block-widget-designer.component-yADN3Xji.mjs} +10 -14
  83. package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-yADN3Xji.mjs.map +1 -0
  84. package/fesm2022/acorex-platform-widgets.mjs +3953 -2138
  85. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  86. package/fesm2022/acorex-platform-workflow.mjs +28 -25
  87. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  88. package/layout/builder/index.d.ts +361 -181
  89. package/layout/components/index.d.ts +372 -25
  90. package/layout/designer/index.d.ts +16 -47
  91. package/layout/entity/index.d.ts +255 -336
  92. package/layout/views/index.d.ts +129 -22
  93. package/package.json +23 -37
  94. package/widgets/index.d.ts +372 -230
  95. package/workflow/index.d.ts +4 -1
  96. package/fesm2022/acorex-platform-themes-default-create-entity-view.component-SY0oMDoH.mjs +0 -22
  97. package/fesm2022/acorex-platform-themes-default-create-entity-view.component-SY0oMDoH.mjs.map +0 -1
  98. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-hf4QOz_4.mjs +0 -665
  99. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-hf4QOz_4.mjs.map +0 -1
  100. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-DC3MrDtI.mjs.map +0 -1
  101. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Bb90PeHq.mjs +0 -236
  102. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Bb90PeHq.mjs.map +0 -1
  103. package/fesm2022/acorex-platform-themes-shared-color-chooser-column.component-DjKLg513.mjs.map +0 -1
  104. package/fesm2022/acorex-platform-themes-shared-color-chooser-view.component-DE0wO98F.mjs.map +0 -1
  105. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-lNF95FJv.mjs.map +0 -1
  106. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-BNBOATPB.mjs.map +0 -1
  107. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-BI18uzNZ.mjs.map +0 -1
  108. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-pYOQv5g8.mjs.map +0 -1
  109. package/fesm2022/acorex-platform-widgets-file-list-popup.component-DFbPO0ud.mjs.map +0 -1
  110. package/fesm2022/acorex-platform-widgets-file-rename-popup.component-DA_CgIvm.mjs +0 -211
  111. package/fesm2022/acorex-platform-widgets-file-rename-popup.component-DA_CgIvm.mjs.map +0 -1
  112. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-DRsLkulH.mjs.map +0 -1
  113. package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-CCMQtH3e.mjs.map +0 -1
@@ -1,17 +1,21 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { Signal, InjectionToken, InputSignal, TemplateRef, ElementRef, OnInit, OnDestroy, Type, ViewContainerRef, ModuleWithProviders, QueryList } from '@angular/core';
2
+ import { Signal, InjectionToken, InputSignal, TemplateRef, ElementRef, OnInit, OnDestroy, Type, ViewContainerRef, ModuleWithProviders, WritableSignal, QueryList, EventEmitter } from '@angular/core';
3
3
  import * as _acorex_platform_core from '@acorex/platform/core';
4
- import { AXPActivityLog, AXPSystemActionType, AXPContextData, AXPFilterDefinition, AXPFilterQuery } from '@acorex/platform/core';
4
+ import { AXPActivityLog, AXPSystemActionType, AXPColumnQuery, AXPContextData, AXPOptionsData, AXPActionMenuItem, AXPExecuteCommand, AXPFilterDefinition, AXPFilterQuery, AXPSortDefinition, AXPSortQuery, AXPMetaData, AXPViewQuery } from '@acorex/platform/core';
5
5
  import { AXPMenuItem } from '@acorex/platform/common';
6
- import { AXPWidgetNode, AXPLayoutContextChangeEvent } from '@acorex/platform/layout/builder';
6
+ import { AXValueChangedEvent, AXHtmlEvent, AXEvent } from '@acorex/cdk/common';
7
+ import { CdkDragDrop } from '@angular/cdk/drag-drop';
8
+ import { AXPWidgetNode, AXPLayoutContextChangeEvent, AXPWidgetProperty, AXPWidgetConfig } from '@acorex/platform/layout/builder';
7
9
  import * as _ngrx_signals from '@ngrx/signals';
10
+ import { AXPopupSizeType, AXPopupService } from '@acorex/components/popup';
11
+ import { AXBasePageComponent } from '@acorex/components/page';
8
12
  import { AXFormComponent } from '@acorex/components/form';
9
- import { AXHtmlEvent, AXValueChangedEvent, AXEvent } from '@acorex/cdk/common';
10
13
  import { AXPopoverComponent } from '@acorex/components/popover';
11
14
  import { AXTagBoxComponent } from '@acorex/components/tag-box';
12
15
  import { AXCalendarService } from '@acorex/core/date-time';
13
16
  import { AXTranslationService } from '@acorex/core/translation';
14
17
  import { Observable } from 'rxjs';
18
+ import { AXTabsComponent, AXTabStripChangedEvent } from '@acorex/components/tabs';
15
19
 
16
20
  declare class AXPActivityLogComponent {
17
21
  private readonly translateService;
@@ -199,6 +203,14 @@ declare class AXPThemeLayoutContainerComponent {
199
203
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPThemeLayoutContainerComponent, "axp-layout-container", never, {}, {}, never, ["*"], true, never>;
200
204
  }
201
205
 
206
+ declare class AXPQueryColumnsComponent {
207
+ columns: _angular_core.ModelSignal<AXPColumnQuery[]>;
208
+ handleVisibilityChange(e: AXValueChangedEvent<boolean>, name: string): void;
209
+ protected drop(event: CdkDragDrop<unknown[]>): void;
210
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPQueryColumnsComponent, never>;
211
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPQueryColumnsComponent, "axp-query-columns", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; }, { "columns": "columnsChange"; }, never, never, true, never>;
212
+ }
213
+
202
214
  interface AXPCompareViewField {
203
215
  path: string;
204
216
  title: string;
@@ -267,11 +279,7 @@ interface AXPComponentSlotConfig {
267
279
  component?: Type<any>;
268
280
  condition?: ((context?: AXPContextData) => (boolean | Promise<boolean>)) | string;
269
281
  loadComponent?: () => Type<any> | Promise<Type<any>>;
270
- options?: {
271
- [key: string]: unknown;
272
- } | (() => {
273
- [key: string]: unknown;
274
- });
282
+ options?: AXPOptionsData | (() => AXPOptionsData) | (() => Promise<AXPOptionsData>);
275
283
  }
276
284
  interface AXPComponentSlotModuleConfigs {
277
285
  [slotName: string]: AXPComponentSlotConfig[];
@@ -294,8 +302,8 @@ declare class AXPComponentSlotDirective implements OnInit {
294
302
  contextStore: {
295
303
  data: _angular_core.Signal<AXPContextData>;
296
304
  state: _angular_core.Signal<_acorex_platform_core.AXPContextState>;
297
- initialSnapshot: _ngrx_signals.DeepSignal<{}>;
298
- previousSnapshot: _ngrx_signals.DeepSignal<{}>;
305
+ initialSnapshot: _angular_core.Signal<{}>;
306
+ previousSnapshot: _angular_core.Signal<{}>;
299
307
  lastChange: _ngrx_signals.DeepSignal<_acorex_platform_core.AXPContextChangeEvent>;
300
308
  isChanged: _angular_core.Signal<boolean>;
301
309
  isReset: _angular_core.Signal<boolean>;
@@ -349,7 +357,14 @@ declare class AXPComponentSlotModule {
349
357
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXPComponentSlotModule>;
350
358
  }
351
359
 
352
- type AXPDynamicFormLayoutStyle = 'normal' | 'compact' | 'vertical' | 'horizontal';
360
+ /**
361
+ * Form appearance and density styling
362
+ */
363
+ type AXPDynamicFormLook = 'normal' | 'compact' | 'borderless';
364
+ /**
365
+ * Form layout direction and flow
366
+ */
367
+ type AXPDynamicFormDirection = 'vertical' | 'horizontal' | 'grid';
353
368
  interface AXPDynamicFormFieldDefinition {
354
369
  path: string;
355
370
  title?: string;
@@ -385,6 +400,93 @@ interface AXPDynamicFormLayoutConfig {
385
400
  };
386
401
  }
387
402
 
403
+ interface AXPDynamicDialogConfig {
404
+ title: string;
405
+ message?: string;
406
+ formDefinition: AXPDynamicFormDefinition;
407
+ context: any;
408
+ layoutConfig?: AXPDynamicFormLayoutConfig;
409
+ size?: AXPopupSizeType;
410
+ actions?: {
411
+ footer?: {
412
+ prefix?: AXPActionMenuItem[];
413
+ suffix?: AXPActionMenuItem[];
414
+ };
415
+ };
416
+ }
417
+ interface AXPDynamicDialogResult {
418
+ context: any;
419
+ action?: string;
420
+ }
421
+
422
+ declare class AXPDynamicDialogComponent extends AXBasePageComponent {
423
+ config: AXPDynamicDialogConfig;
424
+ private readonly dynamicForm;
425
+ isSubmitting: _angular_core.WritableSignal<boolean>;
426
+ private previousContext;
427
+ private formData;
428
+ /**
429
+ * Form context for widget container
430
+ */
431
+ protected formContext: _angular_core.Signal<Record<string, any>>;
432
+ protected defaultLayout: () => {
433
+ positions: {
434
+ default: {
435
+ colSpan: number;
436
+ };
437
+ md: {
438
+ colSpan: number;
439
+ };
440
+ lg: {
441
+ colSpan: number;
442
+ };
443
+ xl: {
444
+ colSpan: number;
445
+ };
446
+ xxl: {
447
+ colSpan: number;
448
+ };
449
+ };
450
+ };
451
+ /**
452
+ * Footer actions for dynamic button system
453
+ */
454
+ protected footerPrefixActions: _angular_core.Signal<AXPActionMenuItem[]>;
455
+ protected footerSuffixActions: _angular_core.Signal<AXPActionMenuItem[]>;
456
+ protected hasFooterActions: _angular_core.Signal<boolean>;
457
+ protected hasVisibleFooterPrefixActions: _angular_core.Signal<boolean>;
458
+ protected hasVisibleFooterSuffixActions: _angular_core.Signal<boolean>;
459
+ ngOnInit(): void;
460
+ protected handleContextInitiated(context: any): void;
461
+ protected handleContextChanged(context: any): void;
462
+ /**
463
+ * Execute a dynamic action
464
+ */
465
+ protected executeAction(action: AXPActionMenuItem): Promise<void>;
466
+ /**
467
+ * Execute a command
468
+ */
469
+ protected executeCommand(command: AXPExecuteCommand): Promise<void>;
470
+ /**
471
+ * Check if form is valid
472
+ */
473
+ protected isFormValid(): Promise<boolean>;
474
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicDialogComponent, never>;
475
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDynamicDialogComponent, "axp-dynamic-dialog", never, { "config": { "alias": "config"; "required": true; }; }, {}, never, never, true, never>;
476
+ }
477
+
478
+ declare class AXPDynamicDialogService {
479
+ private readonly popupService;
480
+ /**
481
+ * Show a dynamic dialog with the given configuration
482
+ * @param config Dialog configuration including fields, validation, and UI options
483
+ * @returns Promise resolving to dialog result with form values and cancellation status
484
+ */
485
+ showDialog(config: AXPDynamicDialogConfig): Promise<AXPDynamicDialogResult>;
486
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicDialogService, never>;
487
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPDynamicDialogService>;
488
+ }
489
+
388
490
  declare class AXPDynamicFormComponent implements OnInit {
389
491
  #private;
390
492
  /**
@@ -396,9 +498,13 @@ declare class AXPDynamicFormComponent implements OnInit {
396
498
  */
397
499
  context: _angular_core.InputSignal<any>;
398
500
  /**
399
- * Layout style for the form (normal, compact, vertical, horizontal)
501
+ * Form appearance and density styling (normal, compact, spacious)
502
+ */
503
+ layoutLook: _angular_core.InputSignal<AXPDynamicFormLook>;
504
+ /**
505
+ * Form layout direction and flow (vertical, horizontal, grid)
400
506
  */
401
- layoutStyle: _angular_core.InputSignal<AXPDynamicFormLayoutStyle>;
507
+ layoutDirection: _angular_core.InputSignal<AXPDynamicFormDirection>;
402
508
  /**
403
509
  * Custom layout configuration for form fields
404
510
  */
@@ -426,11 +532,7 @@ declare class AXPDynamicFormComponent implements OnInit {
426
532
  */
427
533
  protected computedLayout: _angular_core.Signal<AXPDynamicFormLayoutConfig>;
428
534
  /**
429
- * Computed form definition
430
- */
431
- protected computedFormDefinition: _angular_core.Signal<AXPDynamicFormDefinition>;
432
- /**
433
- * Host classes based on layout style
535
+ * Host classes based on layout look and direction
434
536
  */
435
537
  protected hostClasses: _angular_core.Signal<string>;
436
538
  ngOnInit(): void;
@@ -438,6 +540,7 @@ declare class AXPDynamicFormComponent implements OnInit {
438
540
  * Handle context change events from widget container
439
541
  */
440
542
  protected handleContextChanged(event: AXPLayoutContextChangeEvent): void;
543
+ protected isRequired(param: AXPDynamicFormFieldDefinition): boolean;
441
544
  /**
442
545
  * Get the form component instance
443
546
  */
@@ -455,10 +558,134 @@ declare class AXPDynamicFormComponent implements OnInit {
455
558
  */
456
559
  validate(): Promise<boolean>;
457
560
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDynamicFormComponent, never>;
458
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDynamicFormComponent, "axp-dynamic-form", never, { "formDefinition": { "alias": "formDefinition"; "required": true; "isSignal": true; }; "context": { "alias": "context"; "required": true; "isSignal": true; }; "layoutStyle": { "alias": "layoutStyle"; "required": false; "isSignal": true; }; "layoutConfig": { "alias": "layoutConfig"; "required": false; "isSignal": true; }; }, { "contextChange": "contextChange"; "contextInitiated": "contextInitiated"; "validityChange": "validityChange"; }, never, never, true, never>;
561
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDynamicFormComponent, "axp-dynamic-form", never, { "formDefinition": { "alias": "formDefinition"; "required": true; "isSignal": true; }; "context": { "alias": "context"; "required": true; "isSignal": true; }; "layoutLook": { "alias": "layoutLook"; "required": false; "isSignal": true; }; "layoutDirection": { "alias": "layoutDirection"; "required": false; "isSignal": true; }; "layoutConfig": { "alias": "layoutConfig"; "required": false; "isSignal": true; }; }, { "contextChange": "contextChange"; "contextInitiated": "contextInitiated"; "validityChange": "validityChange"; }, never, never, true, never>;
459
562
  }
460
563
 
461
- declare class AXPLayoutFiltersComponent {
564
+ /**
565
+ * Describes a schema-only definition for an extra property (no value).
566
+ */
567
+ interface AXPExtraPropertySchemaItem {
568
+ /** Unique key for the property (used as identifier) */
569
+ key: string;
570
+ /** Human-readable title/label */
571
+ title: string;
572
+ /** Widget name/id to render (e.g., 'text-editor', 'checkbox-editor') */
573
+ type: string;
574
+ /** Optional widget-specific options */
575
+ options?: AXPOptionsData;
576
+ }
577
+ /**
578
+ * Describes a single extra property row.
579
+ */
580
+ interface AXPExtraPropertyItem extends AXPExtraPropertySchemaItem {
581
+ /** Current value bound to the rendered widget */
582
+ value: unknown;
583
+ }
584
+ /**
585
+ * Describes an available extra property type that user can select when adding rows.
586
+ */
587
+ interface AXPExtraPropertyType {
588
+ /** Unique id for the type (it should be the same as the widget name) */
589
+ id: string;
590
+ /** UI title for selection dropdown */
591
+ title: string;
592
+ /** Default widget options applied on create */
593
+ defaultOptions?: AXPOptionsData;
594
+ }
595
+ /**
596
+ * Injection token to provide available extra property types.
597
+ */
598
+ declare const AXP_EXTRA_PROPERTY_TYPES: InjectionToken<AXPExtraPropertyType[]>;
599
+
600
+ declare class AXPExtraPropertiesComponent {
601
+ items: _angular_core.InputSignal<AXPExtraPropertyItem[]>;
602
+ mode: _angular_core.InputSignal<"edit" | "view">;
603
+ protected onContextChanged(event: AXPLayoutContextChangeEvent): void;
604
+ itemsChange: _angular_core.OutputEmitterRef<AXPExtraPropertyItem[]>;
605
+ private readonly providedTypes;
606
+ private readonly translationService;
607
+ protected newKey: WritableSignal<string>;
608
+ protected newTitle: WritableSignal<string>;
609
+ protected newTypeId: WritableSignal<string>;
610
+ protected newValue: WritableSignal<any>;
611
+ /** Local, ephemeral context for widget rendering */
612
+ protected internalContext: WritableSignal<Record<string, any>>;
613
+ private lastTypeByKey;
614
+ protected draftVersion: WritableSignal<number>;
615
+ protected draftKey: _angular_core.Signal<string>;
616
+ protected typeOptions: _angular_core.Signal<AXPExtraPropertyType[]>;
617
+ protected presetTypes: _angular_core.Signal<AXPExtraPropertyType[]>;
618
+ protected canAdd: _angular_core.Signal<boolean>;
619
+ /** Sync incoming items' values into internal context for rendering */
620
+ private readonly syncContextFromItems;
621
+ /**
622
+ * Clear item values when their widget type changes to avoid incompatible stale values
623
+ */
624
+ private readonly clearValueOnTypeChange;
625
+ protected handleAddItem(): void;
626
+ protected handleRemoveItem(key: string): void;
627
+ protected handleDrop(event: CdkDragDrop<AXPExtraPropertyItem[]>): void;
628
+ protected selectPreset(id: string): void;
629
+ private nodeCache;
630
+ private draftNodeCache?;
631
+ protected getNode(item: AXPExtraPropertyItem): AXPWidgetNode;
632
+ protected draftNode(): AXPWidgetNode;
633
+ protected newTypeChanged(val: string): void;
634
+ protected ngOnInit(): void;
635
+ protected handleTitleChange(val: string): void;
636
+ protected sanitizeKey(input: string): string;
637
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPExtraPropertiesComponent, never>;
638
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPExtraPropertiesComponent, "axp-extra-properties", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "itemsChange": "itemsChange"; }, never, never, true, never>;
639
+ }
640
+
641
+ declare class AXPExtraPropertiesSchemaComponent {
642
+ schema: _angular_core.InputSignal<AXPExtraPropertySchemaItem[]>;
643
+ mode: _angular_core.InputSignal<"edit" | "view">;
644
+ schemaChange: _angular_core.OutputEmitterRef<AXPExtraPropertySchemaItem[]>;
645
+ private readonly providedTypes;
646
+ private readonly translationService;
647
+ protected newTitle: WritableSignal<string>;
648
+ protected newTypeId: WritableSignal<string>;
649
+ protected typeOptions: _angular_core.Signal<AXPExtraPropertyType[]>;
650
+ protected canAdd: _angular_core.Signal<boolean>;
651
+ protected selectedKey: WritableSignal<string | null>;
652
+ protected selectedItem: _angular_core.Signal<AXPExtraPropertySchemaItem | null>;
653
+ constructor();
654
+ protected handleAdd(): void;
655
+ protected handleRemove(key: string): void;
656
+ protected handleDrop(event: CdkDragDrop<AXPExtraPropertySchemaItem[]>): void;
657
+ protected handleUpdateTitle(key: string, title: string): void;
658
+ protected handleUpdateType(key: string, typeId: string): void;
659
+ protected newTypeChanged(val: string): void;
660
+ protected handleTitleChange(val: string): void;
661
+ protected handleSelect(key: string): void;
662
+ protected handleViewerChanged(e: {
663
+ values: any;
664
+ mode: 'init' | 'update';
665
+ }): void;
666
+ protected deriveKey(input: string): string;
667
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPExtraPropertiesSchemaComponent, never>;
668
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPExtraPropertiesSchemaComponent, "axp-extra-properties-schema", never, { "schema": { "alias": "schema"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "schemaChange": "schemaChange"; }, never, never, true, never>;
669
+ }
670
+
671
+ declare class AXPExtraPropertiesValuesComponent {
672
+ schema: _angular_core.InputSignal<AXPExtraPropertySchemaItem[]>;
673
+ values: _angular_core.InputSignal<Record<string, any>>;
674
+ mode: _angular_core.InputSignal<"edit" | "view">;
675
+ valuesChange: _angular_core.OutputEmitterRef<Record<string, any>>;
676
+ isRequired: (item: AXPExtraPropertySchemaItem) => any;
677
+ protected internalContext: _angular_core.WritableSignal<Record<string, any>>;
678
+ private nodeCache;
679
+ private lastTypeByKey;
680
+ protected onContextChanged(event: AXPLayoutContextChangeEvent): void;
681
+ private readonly syncContextFromInputs;
682
+ private readonly clearOnSchemaTypeChange;
683
+ protected getNode(item: AXPExtraPropertySchemaItem): AXPWidgetNode;
684
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPExtraPropertiesValuesComponent, never>;
685
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPExtraPropertiesValuesComponent, "axp-extra-properties-values", never, { "schema": { "alias": "schema"; "required": false; "isSignal": true; }; "values": { "alias": "values"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "valuesChange": "valuesChange"; }, never, never, true, never>;
686
+ }
687
+
688
+ declare class AXPQueryFiltersComponent {
462
689
  #private;
463
690
  protected translate: AXTranslationService;
464
691
  protected calendarService: AXCalendarService;
@@ -496,8 +723,71 @@ declare class AXPLayoutFiltersComponent {
496
723
  handlePopoverClosed(e: AXEvent): void;
497
724
  protected onPopoverOpened(e: AXEvent): void;
498
725
  protected deactivateAllListItems(): void;
499
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPLayoutFiltersComponent, never>;
500
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLayoutFiltersComponent, "axp-layout-filters", never, { "filtersDefinitions": { "alias": "filtersDefinitions"; "required": false; "isSignal": true; }; "initialFilters": { "alias": "initialFilters"; "required": false; "isSignal": true; }; }, { "onFiltersChanged": "onFiltersChanged"; }, never, never, true, never>;
726
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPQueryFiltersComponent, never>;
727
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPQueryFiltersComponent, "axp-query-filters", never, { "filtersDefinitions": { "alias": "filtersDefinitions"; "required": false; "isSignal": true; }; "initialFilters": { "alias": "initialFilters"; "required": false; "isSignal": true; }; }, { "onFiltersChanged": "onFiltersChanged"; }, never, never, true, never>;
728
+ }
729
+
730
+ declare class AXPQuerySortsComponent {
731
+ sortDefinitions: _angular_core.ModelSignal<AXPSortDefinition[]>;
732
+ sortQueries: _angular_core.WritableSignal<AXPSortQuery[]>;
733
+ initialSortQueries: _angular_core.InputSignal<AXPSortQuery[]>;
734
+ sortQueriesChange: _angular_core.OutputEmitterRef<AXPSortQuery[]>;
735
+ constructor();
736
+ protected drop(event: CdkDragDrop<unknown[]>): void;
737
+ getSortDirection(item: AXPSortDefinition): "desc" | "asc" | undefined;
738
+ protected changeItemSort(item: AXPSortDefinition): void;
739
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPQuerySortsComponent, never>;
740
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPQuerySortsComponent, "axp-query-sorts", never, { "sortDefinitions": { "alias": "sortDefinitions"; "required": false; "isSignal": true; }; "initialSortQueries": { "alias": "initialSortQueries"; "required": false; "isSignal": true; }; }, { "sortDefinitions": "sortDefinitionsChange"; "sortQueriesChange": "sortQueriesChange"; }, never, never, true, never>;
741
+ }
742
+
743
+ interface AXPTemplateViewerConfig {
744
+ template: AXPWidgetNode | string;
745
+ title?: string;
746
+ size?: AXPopupSizeType;
747
+ context?: any;
748
+ metadata?: AXPMetaData;
749
+ readOnly?: boolean;
750
+ showActions?: boolean;
751
+ }
752
+ interface AXPTemplateViewerResult {
753
+ context: any;
754
+ cancelled: boolean;
755
+ metadata?: AXPMetaData;
756
+ }
757
+
758
+ declare class AXPTemplateViewerComponent extends AXBasePageComponent {
759
+ set config(value: AXPTemplateViewerConfig | undefined);
760
+ get config(): AXPTemplateViewerConfig | undefined;
761
+ protected context: any;
762
+ protected readonly document: _angular_core.WritableSignal<AXPWidgetNode>;
763
+ protected readonly currentPageIndex: _angular_core.WritableSignal<number>;
764
+ protected readonly _config: _angular_core.WritableSignal<AXPTemplateViewerConfig | undefined>;
765
+ protected readonly currentPage: _angular_core.Signal<AXPWidgetNode>;
766
+ protected ngOnInit(): Promise<void>;
767
+ private loadTemplate;
768
+ protected handleContextChanged(e: AXPLayoutContextChangeEvent): void;
769
+ protected handleSubmit(form: AXFormComponent): Promise<void>;
770
+ protected handleCancel(): void;
771
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTemplateViewerComponent, never>;
772
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPTemplateViewerComponent, "axp-template-viewer", never, { "config": { "alias": "config"; "required": false; }; }, {}, never, never, true, never>;
773
+ }
774
+
775
+ declare class AXPTemplateViewerService {
776
+ private readonly popupService;
777
+ /**
778
+ * Show a template viewer dialog with the given configuration
779
+ * @param config Template viewer configuration including template, title, and UI options
780
+ * @returns Promise resolving to viewer result with form values and cancellation status
781
+ */
782
+ showTemplate(config: AXPTemplateViewerConfig): Promise<AXPTemplateViewerResult>;
783
+ /**
784
+ * Show a template viewer in read-only mode
785
+ * @param config Template viewer configuration
786
+ * @returns Promise resolving to viewer result
787
+ */
788
+ showTemplateReadOnly(config: Omit<AXPTemplateViewerConfig, 'readOnly' | 'showActions'>): Promise<AXPTemplateViewerResult>;
789
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPTemplateViewerService, never>;
790
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPTemplateViewerService>;
501
791
  }
502
792
 
503
793
  type AXPUserAvatarSize = 'small' | 'medium' | 'large';
@@ -591,6 +881,21 @@ declare class AXPUserAvatarComponent implements OnInit, OnDestroy {
591
881
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPUserAvatarComponent, "axp-user-avatar", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "userId": { "alias": "userId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
592
882
  }
593
883
 
884
+ declare class AXPQueryViewsComponent {
885
+ #private;
886
+ protected popupService: AXPopupService;
887
+ protected translate: AXTranslationService;
888
+ protected tabs: _angular_core.Signal<AXTabsComponent | undefined>;
889
+ views: _angular_core.ModelSignal<AXPViewQuery[]>;
890
+ selectedView: _angular_core.ModelSignal<AXPViewQuery>;
891
+ protected isMounted: _angular_core.WritableSignal<boolean>;
892
+ ngAfterViewInit(): void;
893
+ setView(view: AXPViewQuery): void;
894
+ handleActiveChange(e: any): void;
895
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPQueryViewsComponent, never>;
896
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPQueryViewsComponent, "axp-query-views", never, { "views": { "alias": "views"; "required": false; "isSignal": true; }; "selectedView": { "alias": "selectedView"; "required": true; "isSignal": true; }; }, { "views": "viewsChange"; "selectedView": "selectedViewChange"; }, never, never, true, never>;
897
+ }
898
+
594
899
  /**
595
900
  * Generic interface for widget item data
596
901
  */
@@ -651,5 +956,47 @@ declare class AXPWidgetItemComponent {
651
956
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetItemComponent, "axp-widget-item", never, { "widget": { "alias": "widget"; "required": true; "isSignal": true; }; "isSelected": { "alias": "isSelected"; "required": false; "isSignal": true; }; "showPinButton": { "alias": "showPinButton"; "required": false; "isSignal": true; }; "customClasses": { "alias": "customClasses"; "required": false; "isSignal": true; }; }, { "onWidgetClick": "onWidgetClick"; "onPinClick": "onPinClick"; }, never, never, true, never>;
652
957
  }
653
958
 
654
- export { AXPActivityLogComponent, AXPCompareViewComponent, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPDynamicFormComponent, AXPLayoutFiltersComponent, AXPMenuBadgeHelper, AXPTaskBadgeDirective, AXPTaskBadgeProvider, AXPTaskBadgeService, AXPThemeLayoutActionsComponent, AXPThemeLayoutBlockComponent, AXPThemeLayoutContainerComponent, AXPThemeLayoutEndSideComponent, AXPThemeLayoutFooterComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutListComponent, AXPThemeLayoutListItemComponent, AXPThemeLayoutListItemsGroupComponent, AXPThemeLayoutPageHeaderComponent, AXPThemeLayoutPagePrimaryActionsComponent, AXPThemeLayoutPageSecondaryActionsComponent, AXPThemeLayoutSectionComponent, AXPThemeLayoutStartSideComponent, AXPThemeLayoutToolbarComponent, AXPUserAvatarComponent, AXPUserAvatarService, AXPWidgetItemComponent, AXP_TASK_BADGE_PROVIDERS, AXP_USER_AVATAR_PROVIDER };
655
- export type { AXPCompareViewField, AXPCompareViewInputs, AXPCompareViewMode, AXPCompareViewObject, AXPComponentSlotConfig, AXPComponentSlotModuleConfigs, AXPDynamicFormDefinition, AXPDynamicFormFieldDefinition, AXPDynamicFormGroupDefinition, AXPDynamicFormLayoutConfig, AXPDynamicFormLayoutStyle, AXPUserAvatarData, AXPUserAvatarProvider, AXPUserAvatarSize, AXPUserAvatarStatus, AXPWidgetItemClickEvent, AXPWidgetItemData };
959
+ interface AXPWidgetPropertyTab {
960
+ name: string;
961
+ title: string;
962
+ groups: {
963
+ name: string;
964
+ title: string;
965
+ isCollapsed: boolean;
966
+ props: AXPWidgetProperty[];
967
+ }[];
968
+ }
969
+ interface AXPWidgetPropertiesChangedEvent {
970
+ values: any;
971
+ mode: 'init' | 'update';
972
+ }
973
+ declare class AXPWidgetPropertyViewerComponent {
974
+ widget: _angular_core.InputSignal<AXPWidgetNode>;
975
+ mode: _angular_core.InputSignal<"simple" | "advanced">;
976
+ private widgetRegistryService;
977
+ protected currentTabIndex: WritableSignal<number>;
978
+ protected config: WritableSignal<AXPWidgetConfig<any> | null>;
979
+ protected allPoperties: AXPWidgetProperty[];
980
+ protected tabs: WritableSignal<AXPWidgetPropertyTab[]>;
981
+ protected groups: _angular_core.Signal<{
982
+ name: string;
983
+ title: string;
984
+ isCollapsed: boolean;
985
+ props: AXPWidgetProperty[];
986
+ }[]>;
987
+ protected groupCollapsedStates: Map<string, boolean>;
988
+ onChanged: EventEmitter<AXPWidgetPropertiesChangedEvent>;
989
+ protected context: WritableSignal<any>;
990
+ protected initialContext: any;
991
+ constructor();
992
+ update(values: any): void;
993
+ private fillTabs;
994
+ protected handleContextChange(e: AXPLayoutContextChangeEvent): void;
995
+ protected handleTabChange(event: AXTabStripChangedEvent): void;
996
+ protected handleCollapsedChange(group: string, collapsed: boolean): void;
997
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPropertyViewerComponent, never>;
998
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetPropertyViewerComponent, "axp-widget-property-viewer", never, { "widget": { "alias": "widget"; "required": true; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "onChanged": "onChanged"; }, never, never, true, never>;
999
+ }
1000
+
1001
+ export { AXPActivityLogComponent, AXPCompareViewComponent, AXPComponentSlot, AXPComponentSlotDirective, AXPComponentSlotModule, AXPComponentSlotRegistryService, AXPDynamicDialogComponent, AXPDynamicDialogService, AXPDynamicFormComponent, AXPExtraPropertiesComponent, AXPExtraPropertiesSchemaComponent, AXPExtraPropertiesValuesComponent, AXPMenuBadgeHelper, AXPQueryColumnsComponent, AXPQueryFiltersComponent, AXPQuerySortsComponent, AXPQueryViewsComponent, AXPTaskBadgeDirective, AXPTaskBadgeProvider, AXPTaskBadgeService, AXPTemplateViewerComponent, AXPTemplateViewerService, AXPThemeLayoutActionsComponent, AXPThemeLayoutBlockComponent, AXPThemeLayoutContainerComponent, AXPThemeLayoutEndSideComponent, AXPThemeLayoutFooterComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutListComponent, AXPThemeLayoutListItemComponent, AXPThemeLayoutListItemsGroupComponent, AXPThemeLayoutPageHeaderComponent, AXPThemeLayoutPagePrimaryActionsComponent, AXPThemeLayoutPageSecondaryActionsComponent, AXPThemeLayoutSectionComponent, AXPThemeLayoutStartSideComponent, AXPThemeLayoutToolbarComponent, AXPUserAvatarComponent, AXPUserAvatarService, AXPWidgetItemComponent, AXPWidgetPropertyViewerComponent, AXP_EXTRA_PROPERTY_TYPES, AXP_TASK_BADGE_PROVIDERS, AXP_USER_AVATAR_PROVIDER };
1002
+ export type { AXPCompareViewField, AXPCompareViewInputs, AXPCompareViewMode, AXPCompareViewObject, AXPComponentSlotConfig, AXPComponentSlotModuleConfigs, AXPDynamicDialogConfig, AXPDynamicDialogResult, AXPDynamicFormDefinition, AXPDynamicFormDirection, AXPDynamicFormFieldDefinition, AXPDynamicFormGroupDefinition, AXPDynamicFormLayoutConfig, AXPDynamicFormLook, AXPExtraPropertyItem, AXPExtraPropertySchemaItem, AXPExtraPropertyType, AXPTemplateViewerConfig, AXPTemplateViewerResult, AXPUserAvatarData, AXPUserAvatarProvider, AXPUserAvatarSize, AXPUserAvatarStatus, AXPWidgetItemClickEvent, AXPWidgetItemData, AXPWidgetPropertiesChangedEvent, AXPWidgetPropertyTab };
@@ -4,7 +4,7 @@ import { EventEmitter, OnChanges, OnDestroy, WritableSignal, NgZone, SimpleChang
4
4
  import { AXBasePageComponent } from '@acorex/components/page';
5
5
  import { AXTabStripChangedEvent } from '@acorex/components/tabs';
6
6
  import * as _acorex_platform_layout_builder from '@acorex/platform/layout/builder';
7
- import { AXPWidgetConfig, AXPWidgetCategory, AXPWidgetGroupEnum, AXPWidgetNode, AXPBaseWidgetComponent, AXPWidgetRegistryService, AXPLayoutWidgetComponent, AXPLayoutContextChangeEvent, AXPWidgetProperty } from '@acorex/platform/layout/builder';
7
+ import { AXPWidgetConfig, AXPWidgetCategory, AXPWidgetGroupEnum, AXPWidgetNode, AXPBaseWidgetComponent, AXPWidgetRegistryService, AXPLayoutBaseWidgetComponent, AXPLayoutContextChangeEvent } from '@acorex/platform/layout/builder';
8
8
  import { AXPWidgetItemData, AXPWidgetItemClickEvent } from '@acorex/platform/layout/components';
9
9
  import { AXMenuItem } from '@acorex/components/menu';
10
10
  import { Subject } from 'rxjs';
@@ -38,6 +38,18 @@ declare class AXPDesignerAddWidgetMiniButtonComponent {
38
38
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDesignerAddWidgetMiniButtonComponent, "axp-designer-add-widget-mini-button", never, {}, { "onClick": "onClick"; }, never, never, true, never>;
39
39
  }
40
40
 
41
+ declare class AXPDesignerFlexDrawerComponent {
42
+ itemsCount: _angular_core.ModelSignal<number>;
43
+ onSelect: _angular_core.OutputEmitterRef<number>;
44
+ protected items: _angular_core.Signal<number[]>;
45
+ protected range: _angular_core.WritableSignal<number>;
46
+ protected handleMouseHover(c: number): void;
47
+ protected handleClick(c: number): void;
48
+ protected handleMouseLeave(event: MouseEvent): void;
49
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPDesignerFlexDrawerComponent, never>;
50
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPDesignerFlexDrawerComponent, "axp-designer-flex-drawer", never, { "itemsCount": { "alias": "items"; "required": false; "isSignal": true; }; }, { "itemsCount": "itemsChange"; "onSelect": "onSelect"; }, never, never, true, never>;
51
+ }
52
+
41
53
  declare class AXPDesignerGridDrawerComponent {
42
54
  rowsCount: _angular_core.ModelSignal<number>;
43
55
  colsCount: _angular_core.ModelSignal<number>;
@@ -338,7 +350,7 @@ declare class AXPWidgetDesignerRendererDirective implements OnChanges, OnDestroy
338
350
  private currentNodeId;
339
351
  private service;
340
352
  private viewContainerRef;
341
- parentNode: _angular_core.InputSignal<AXPLayoutWidgetComponent | null | undefined>;
353
+ parentNode: _angular_core.InputSignal<AXPLayoutBaseWidgetComponent | null | undefined>;
342
354
  index: _angular_core.InputSignal<number | null | undefined>;
343
355
  locked: _angular_core.InputSignal<boolean>;
344
356
  mode: _angular_core.InputSignal<keyof _acorex_platform_layout_builder.AXPWidgetConfigComponents>;
@@ -404,48 +416,5 @@ declare class AXPLayoutDesignerPreviewComponent extends AXBasePageComponent {
404
416
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPLayoutDesignerPreviewComponent, "axp-layout-preview", never, {}, {}, never, never, true, never>;
405
417
  }
406
418
 
407
- interface AXPWidgetPropertyTab {
408
- name: string;
409
- title: string;
410
- groups: {
411
- name: string;
412
- title: string;
413
- isCollapsed: boolean;
414
- props: AXPWidgetProperty[];
415
- }[];
416
- }
417
- interface AXPWidgetPropertiesChangedEvent {
418
- values: any;
419
- mode: 'init' | 'update';
420
- }
421
- declare class AXPWidgetPropertyViewerComponent {
422
- widget: _angular_core.InputSignal<AXPWidgetNode>;
423
- mode: _angular_core.InputSignal<"simple" | "advanced">;
424
- private widgetRegistryService;
425
- protected connector: AXPDesignerConnector<any>;
426
- protected currentTabIndex: WritableSignal<number>;
427
- protected config: WritableSignal<AXPWidgetConfig<any> | null>;
428
- protected allPoperties: AXPWidgetProperty[];
429
- protected tabs: WritableSignal<AXPWidgetPropertyTab[]>;
430
- protected groups: _angular_core.Signal<{
431
- name: string;
432
- title: string;
433
- isCollapsed: boolean;
434
- props: AXPWidgetProperty[];
435
- }[]>;
436
- protected groupCollapsedStates: Map<string, boolean>;
437
- onChanged: EventEmitter<AXPWidgetPropertiesChangedEvent>;
438
- protected context: WritableSignal<any>;
439
- protected initialContext: any;
440
- constructor();
441
- update(values: any): void;
442
- private fillTabs;
443
- protected handleContextChange(e: AXPLayoutContextChangeEvent): void;
444
- protected handleTabChange(event: AXTabStripChangedEvent): void;
445
- protected handleCollapsedChange(group: string, collapsed: boolean): void;
446
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPWidgetPropertyViewerComponent, never>;
447
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPWidgetPropertyViewerComponent, "axp-widget-property-viewer", never, { "widget": { "alias": "widget"; "required": true; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "onChanged": "onChanged"; }, never, never, true, never>;
448
- }
449
-
450
- export { AXPDesignerAddWidgetButtonComponent, AXPDesignerAddWidgetLineButtonComponent, AXPDesignerAddWidgetMiniButtonComponent, AXPDesignerConnector, AXPDesignerGridDrawerComponent, AXPDesignerMessageKeys, AXPDesignerModes, AXPDesignerService, AXPDesignerWidgetPickerComponent, AXPLayoutDesignerComponent, AXPLayoutDesignerPreviewComponent, AXPLayoutDesignerPreviewViewerComponent, AXPTemplateLoadingStrategy, AXPWidgetDesignerRendererDirective, AXPWidgetPickerService, AXPWidgetPropertyViewerComponent, AXP_DESIGNER_ADD_WIDGET_MENU, AXP_DESIGNER_CLONE_MENU, AXP_DESIGNER_COPY_MENU, AXP_DESIGNER_CUT_MENU, AXP_DESIGNER_DELETE_WIDGET_MENU, AXP_DESIGNER_PASTE_MENU, AXP_DESIGNER_SAVE_AS_WIDGET_MENU, AXP_DESIGNER_SELECT_WIDGET_MENU, cloneWidgetMenu };
451
- export type { AXPDesignerAddNodeCommand, AXPDesignerAddNodeEvent, AXPDesignerContent, AXPDesignerFocusCommand, AXPDesignerFocusEvent, AXPDesignerMode, AXPDesignerPreviewMessage, AXPDesignerPreviewSize, AXPDesignerRefreshCommand, AXPDesignerRefreshEvent, AXPDesignerRegisterCommand, AXPDesignerSaveFormMessage, AXPDesignerSelectCommand, AXPDesignerSelectEvent, AXPDesignerUpdateCommand, AXPDesignerUpdateEvent, AXPDesignerWidgetComponent, AXPDisplayWidgetConfig, AXPWidgetPropertiesChangedEvent, AXPWidgetPropertyTab };
419
+ export { AXPDesignerAddWidgetButtonComponent, AXPDesignerAddWidgetLineButtonComponent, AXPDesignerAddWidgetMiniButtonComponent, AXPDesignerConnector, AXPDesignerFlexDrawerComponent, AXPDesignerGridDrawerComponent, AXPDesignerMessageKeys, AXPDesignerModes, AXPDesignerService, AXPDesignerWidgetPickerComponent, AXPLayoutDesignerComponent, AXPLayoutDesignerPreviewComponent, AXPLayoutDesignerPreviewViewerComponent, AXPTemplateLoadingStrategy, AXPWidgetDesignerRendererDirective, AXPWidgetPickerService, AXP_DESIGNER_ADD_WIDGET_MENU, AXP_DESIGNER_CLONE_MENU, AXP_DESIGNER_COPY_MENU, AXP_DESIGNER_CUT_MENU, AXP_DESIGNER_DELETE_WIDGET_MENU, AXP_DESIGNER_PASTE_MENU, AXP_DESIGNER_SAVE_AS_WIDGET_MENU, AXP_DESIGNER_SELECT_WIDGET_MENU, cloneWidgetMenu };
420
+ export type { AXPDesignerAddNodeCommand, AXPDesignerAddNodeEvent, AXPDesignerContent, AXPDesignerFocusCommand, AXPDesignerFocusEvent, AXPDesignerMode, AXPDesignerPreviewMessage, AXPDesignerPreviewSize, AXPDesignerRefreshCommand, AXPDesignerRefreshEvent, AXPDesignerRegisterCommand, AXPDesignerSaveFormMessage, AXPDesignerSelectCommand, AXPDesignerSelectEvent, AXPDesignerUpdateCommand, AXPDesignerUpdateEvent, AXPDesignerWidgetComponent, AXPDisplayWidgetConfig };