@masterteam/dashboard-builder 0.0.39 → 0.0.41

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@masterteam/dashboard-builder",
3
- "version": "0.0.39",
3
+ "version": "0.0.41",
4
4
  "publishConfig": {
5
5
  "directory": "../../../dist/masterteam/dashboard-builder",
6
6
  "linkDirectory": true,
@@ -15,14 +15,15 @@
15
15
  "@primeuix/themes": "^2.0.3",
16
16
  "@tailwindcss/postcss": "^4.2.2",
17
17
  "@jsverse/transloco": "^8.3.0",
18
+ "@masterteam/components": "^0.0.203",
19
+ "@masterteam/icons": "^0.0.17",
20
+ "@masterteam/timeline": "^0.0.15",
18
21
  "angular-gridster2": "^18.0.1",
19
22
  "echarts": "^5.5.0",
20
23
  "postcss": "^8.5.9",
21
24
  "primeng": "21.1.5",
22
25
  "rxjs": "^7.8.2",
23
- "tailwindcss": "^4.2.2",
24
- "@masterteam/components": "^0.0.197",
25
- "@masterteam/icons": "^0.0.17"
26
+ "tailwindcss": "^4.2.2"
26
27
  },
27
28
  "dependencies": {
28
29
  "tslib": "^2.8.1",
@@ -41,4 +42,4 @@
41
42
  }
42
43
  },
43
44
  "type": "module"
44
- }
45
+ }
@@ -8,6 +8,7 @@ import { MTMenuItem } from '@masterteam/components/menu';
8
8
  import * as _angular_forms from '@angular/forms';
9
9
  import { ControlValueAccessor, FormGroup, FormArray, ValidationErrors } from '@angular/forms';
10
10
  import { MTIcon } from '@masterteam/icons';
11
+ import { TimelineScaleMode, TimelineColumnConfig, TimelineGanttMapping } from '@masterteam/timeline';
11
12
  import { EntityData as EntityData$1 } from '@masterteam/components/entities';
12
13
  import * as rxjs from 'rxjs';
13
14
  import { Observable } from 'rxjs';
@@ -69,13 +70,6 @@ interface ServiceItem {
69
70
  interface ModulesTreeResponse {
70
71
  services: ServiceItem[];
71
72
  }
72
- /**
73
- * Workspace option returned by gateway metadata.
74
- */
75
- interface WorkspaceOption {
76
- id: string | number;
77
- name: string;
78
- }
79
73
  /**
80
74
  * Grouped module option for select dropdown
81
75
  */
@@ -2199,6 +2193,7 @@ declare class DashboardBuilder implements OnInit, OnDestroy {
2199
2193
  private applyingDashboardData;
2200
2194
  private emittingDashboardData;
2201
2195
  private lastExtraFiltersSignature;
2196
+ private lastLoadedPageKey;
2202
2197
  private lastStandaloneDashboardSignature;
2203
2198
  private readonly boundHandleDragOver;
2204
2199
  private readonly boundHandleDrop;
@@ -2208,7 +2203,7 @@ declare class DashboardBuilder implements OnInit, OnDestroy {
2208
2203
  ngOnDestroy(): void;
2209
2204
  private setupEventListeners;
2210
2205
  private removeEventListeners;
2211
- private loadPageIfNeeded;
2206
+ private loadCurrentPageIfNeeded;
2212
2207
  loadPage(id: string | number): void;
2213
2208
  saveDash(options?: {
2214
2209
  silent?: boolean;
@@ -2228,6 +2223,8 @@ declare class DashboardBuilder implements OnInit, OnDestroy {
2228
2223
  onSelect(chart: DashboardChartItem, event: MouseEvent): void;
2229
2224
  pasteSelectedCharts(): void;
2230
2225
  private pasteItemInChart;
2226
+ private prefetchModulesTree;
2227
+ private resolveWorkspaceId;
2231
2228
  addItem(): void;
2232
2229
  /**
2233
2230
  * Pass 7 — primary data-config entry point. The center "Configure
@@ -2248,6 +2245,7 @@ declare class DashboardBuilder implements OnInit, OnDestroy {
2248
2245
  * re-renders it, and emits to the host.
2249
2246
  */
2250
2247
  private applyChartConfigUpdate;
2248
+ private isSameDashboardItem;
2251
2249
  /**
2252
2250
  * Pass 7 — sole card-menu action handler. The kebab emits a single
2253
2251
  * `ItemCardMenuAction` and the host routes each id to one obvious owner:
@@ -2255,7 +2253,7 @@ declare class DashboardBuilder implements OnInit, OnDestroy {
2255
2253
  * - configure-datasource → ManageItem (advanced editor)
2256
2254
  * - style → ChartSettingsDrawer
2257
2255
  * - filters → ChartFilterDrawer
2258
- * - edit-title → focuses the inline title input on the card
2256
+ * - edit-title → multilingual title editor
2259
2257
  * - duplicate / delete → host helpers
2260
2258
  * - dialog-* → linked-dialog actions (only present when
2261
2259
  * the chart is configured to open a dialog)
@@ -2264,16 +2262,8 @@ declare class DashboardBuilder implements OnInit, OnDestroy {
2264
2262
  * a separate popover/wizard.
2265
2263
  */
2266
2264
  onItemCardMenuAction(chart: DashboardChartItem, action: ItemCardMenuAction): void;
2267
- /**
2268
- * Pass 7 — focus the inline title input for the given chart. Both the
2269
- * unconfigured chart surface (`dashboard-item.html` overlay) and the
2270
- * configured chart heading (`card-content.component.html`) carry
2271
- * `data-dashboard-action="edit-title"`; the gridster-item carries the
2272
- * matching `data-chart-id`. The kebab's "Edit title" entry routes here
2273
- * without opening any other surface.
2274
- */
2275
- private requestEditTitle;
2276
2265
  requestLayoutTitleEdit(chart: DashboardChartItem, event: Event): void;
2266
+ private openTitleEditor;
2277
2267
  /** Whether the chart has a linked dialog (Manage menu shows dialog entries). */
2278
2268
  hasLinkedDialog(chart: DashboardChartItem): boolean;
2279
2269
  /** Whether the chart can have a linked dialog added (chart cards that aren't dialogs themselves). */
@@ -2284,6 +2274,7 @@ declare class DashboardBuilder implements OnInit, OnDestroy {
2284
2274
  showContextToolbar(chart: DashboardChartItem): boolean;
2285
2275
  editItem(chart: DashboardChartItem, parentItem?: DashboardChartItem, defaultTab?: 'general' | 'dataSource' | 'actions'): void;
2286
2276
  deleteItem(chart: DashboardChartItem): void;
2277
+ private confirmDelete;
2287
2278
  private removeChartLocally;
2288
2279
  newChart(value: any): void;
2289
2280
  editChart(value: any): void;
@@ -2323,7 +2314,22 @@ declare class DashboardBuilder implements OnInit, OnDestroy {
2323
2314
  private newChartWithSize;
2324
2315
  openBreadcrumb(item: DashboardChartItem): void;
2325
2316
  openManageFilter(): void;
2317
+ private applyBulkSelectionFilters;
2318
+ private applyBulkSelectionFiltersToItem;
2319
+ private applyBulkPropertyTranslations;
2320
+ private applyPropertyTranslationsToItem;
2321
+ private mergeSelectionFilters;
2322
+ private removeSelectionFilters;
2323
+ private sameSelectionFilter;
2324
+ private filtersEqual;
2325
+ private selectionsOverlap;
2326
+ private getSelectionSelectors;
2326
2327
  addDialogForChart(chart: DashboardChartItem): void;
2328
+ private toDialogTableQuery;
2329
+ private buildDialogAggregationProperties;
2330
+ private extractSeriesProperties;
2331
+ private toPropertyArray;
2332
+ private uniqueProperties;
2327
2333
  editOnDialogForChart(chart: DashboardChartItem): void;
2328
2334
  deleteDialogFromChart(chart: DashboardChartItem): void;
2329
2335
  /** Open chart settings drawer for item configuration */
@@ -2415,6 +2421,8 @@ declare class DashboardViewer implements OnInit, OnDestroy {
2415
2421
  readonly layoutHeight: _angular_core.Signal<string>;
2416
2422
  private subscription;
2417
2423
  private readonly rowHeight;
2424
+ private readonly rowGap;
2425
+ private readonly bottomSafeArea;
2418
2426
  private lastExtraFiltersSignature;
2419
2427
  private readonly hasSplitPreloadedData;
2420
2428
  private dashboardDataEffect;
@@ -3255,6 +3263,10 @@ declare class DynamicFiltersComponent implements OnInit {
3255
3263
  * Handle field value change
3256
3264
  */
3257
3265
  onFieldChange(field: DynamicFilterField, value: any): void;
3266
+ applyFilters(): void;
3267
+ clearFilters(): void;
3268
+ private compactValues;
3269
+ private mergeOwnFilterValues;
3258
3270
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicFiltersComponent, never>;
3259
3271
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicFiltersComponent, "mt-dynamic-filters", never, { "fields": { "alias": "fields"; "required": false; "isSignal": true; }; "dashboardId": { "alias": "dashboardId"; "required": false; "isSignal": true; }; "showLabels": { "alias": "showLabels"; "required": false; "isSignal": true; }; }, { "filterChange": "filterChange"; "filtersChange": "filtersChange"; }, never, never, true, never>;
3260
3272
  }
@@ -3363,8 +3375,12 @@ declare class ChartCardComponent implements OnInit, OnDestroy {
3363
3375
  readonly timelineEvents: _angular_core.Signal<any[]>;
3364
3376
  readonly timelineResources: _angular_core.Signal<any[]>;
3365
3377
  readonly timelineLabels: _angular_core.Signal<any[]>;
3366
- readonly timelineEventsLimited: _angular_core.Signal<any[]>;
3367
- readonly timelineEventsTruncated: _angular_core.Signal<boolean>;
3378
+ readonly timelineLegendIconType: _angular_core.Signal<string>;
3379
+ readonly timelineHeaderBgColor: _angular_core.Signal<string | null>;
3380
+ readonly timelineHeaderTextColor: _angular_core.Signal<string | null>;
3381
+ readonly timelineMode: _angular_core.WritableSignal<TimelineScaleMode>;
3382
+ readonly timelineColumns: _angular_core.Signal<TimelineColumnConfig<unknown, unknown>[]>;
3383
+ readonly timelineGanttMapping: TimelineGanttMapping<any>;
3368
3384
  readonly hasPhaseGateData: _angular_core.Signal<boolean>;
3369
3385
  readonly phaseGateSteps: _angular_core.Signal<any[]>;
3370
3386
  readonly phaseGateCurrentIndex: _angular_core.Signal<number>;
@@ -3373,10 +3389,17 @@ declare class ChartCardComponent implements OnInit, OnDestroy {
3373
3389
  ngOnInit(): void;
3374
3390
  ngOnDestroy(): void;
3375
3391
  onChartClick(event: any): void;
3392
+ onTimelineItemClick(resource: any): void;
3376
3393
  onHeaderClick(): void;
3377
3394
  onConfigureClick(event: Event): void;
3378
3395
  /** Format an ISO date for inline timeline display. */
3379
3396
  formatDate(value: any): string;
3397
+ private resolveTimelineMode;
3398
+ private getTimelineEventForResource;
3399
+ private resolveTimelineProgress;
3400
+ private resolveTimelineColor;
3401
+ private resolveTimelineStatus;
3402
+ private toDisplayText;
3380
3403
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartCardComponent, never>;
3381
3404
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartCardComponent, "mt-chart-card", never, { "dashboardId": { "alias": "dashboardId"; "required": true; "isSignal": true; }; "inGroup": { "alias": "inGroup"; "required": false; "isSignal": true; }; "isConfigMode": { "alias": "isConfigMode"; "required": false; "isSignal": true; }; "titleEditable": { "alias": "titleEditable"; "required": false; "isSignal": true; }; }, { "onAction": "onAction"; "onConfigure": "onConfigure"; "onTitleChange": "onTitleChange"; }, never, never, true, never>;
3382
3405
  }
@@ -3430,7 +3453,8 @@ declare class EChartComponent implements OnInit, AfterViewInit, OnChanges, OnDes
3430
3453
  /** Chart class */
3431
3454
  readonly chartClass: _angular_core.Signal<"chart" | "chart-scroll">;
3432
3455
  /** Show custom legend */
3433
- readonly showCustomLegend: _angular_core.Signal<any>;
3456
+ readonly showCustomLegend: _angular_core.Signal<boolean>;
3457
+ readonly customLegendIconIsRect: _angular_core.Signal<boolean>;
3434
3458
  constructor();
3435
3459
  ngOnInit(): Promise<void>;
3436
3460
  ngAfterViewInit(): void;
@@ -3480,6 +3504,13 @@ declare class EChartComponent implements OnInit, AfterViewInit, OnChanges, OnDes
3480
3504
  */
3481
3505
  getChartInstance(): EChartsType | null;
3482
3506
  private applyResponsiveOptions;
3507
+ private applyResponsiveGrid;
3508
+ private ensureGridSide;
3509
+ private applyResponsiveAxisLabel;
3510
+ private resolveAxisLabelRotate;
3511
+ private getResponsiveCategoryLabelWidth;
3512
+ private resolveChartFontFamily;
3513
+ private resolveChartFontSizes;
3483
3514
  private resolveConfiguredLegendSide;
3484
3515
  private resolveEffectiveLegendSide;
3485
3516
  private hasVisibleLegend;
@@ -3490,8 +3521,10 @@ declare class EChartComponent implements OnInit, AfterViewInit, OnChanges, OnDes
3490
3521
  private isCenteredLegendCoordinate;
3491
3522
  private getResponsiveGridOffsets;
3492
3523
  private applyResponsiveLegend;
3524
+ private applyConfiguredLegend;
3493
3525
  private mapLegendConfig;
3494
3526
  private applyLegendSideCoordinates;
3527
+ private getResponsivePieRadius;
3495
3528
  private estimateCategoryCount;
3496
3529
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EChartComponent, never>;
3497
3530
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<EChartComponent, "mt-echart", never, { "dashboardId": { "alias": "dashboardId"; "required": false; "isSignal": true; }; "chartConfig": { "alias": "chartConfig"; "required": false; "isSignal": true; }; "configurationItem": { "alias": "configurationItem"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "inGroup": { "alias": "inGroup"; "required": false; "isSignal": true; }; "headerHidden": { "alias": "headerHidden"; "required": false; "isSignal": true; }; }, { "chartClick": "chartClick"; }, never, never, true, never>;
@@ -3616,6 +3649,12 @@ declare class PropertiesCardComponent implements OnInit, OnDestroy {
3616
3649
  private getCardProps;
3617
3650
  private orderProperties;
3618
3651
  private buildEntities;
3652
+ private buildPropertyTemplateMap;
3653
+ private createPlaceholderProperty;
3654
+ private resolveEntityValue;
3655
+ private resolveEntityViewType;
3656
+ private isEntityValueMissing;
3657
+ private humanizePropertyKey;
3619
3658
  private resolveTabLabel;
3620
3659
  private readString;
3621
3660
  private resolveEntityName;
@@ -3802,6 +3841,16 @@ declare class StatisticCardComponent implements OnInit {
3802
3841
  readonly fontSizeValue: _angular_core.Signal<string | undefined>;
3803
3842
  /** Font size for title */
3804
3843
  readonly fontSizeTitle: _angular_core.Signal<string | undefined>;
3844
+ /** Value text styles */
3845
+ readonly valueStyles: _angular_core.Signal<Record<string, any>>;
3846
+ /** Title text styles */
3847
+ readonly titleStyles: _angular_core.Signal<Record<string, any>>;
3848
+ /** Subtitle text styles */
3849
+ readonly subtitleStyles: _angular_core.Signal<{
3850
+ color: any;
3851
+ } | {
3852
+ color?: undefined;
3853
+ }>;
3805
3854
  /** Card styles */
3806
3855
  readonly cardStyles: _angular_core.Signal<Record<string, any>>;
3807
3856
  /** Border top style */
@@ -3827,12 +3876,22 @@ interface TableColumn {
3827
3876
  keyPure?: string;
3828
3877
  label: string;
3829
3878
  viewType?: string;
3830
- columnType?: 'entity' | 'actions' | 'template' | 'drag';
3879
+ columnType?: 'entity' | 'actions' | 'template' | 'drag' | 'phaseGate';
3831
3880
  hideColumn?: boolean;
3832
3881
  width?: string;
3833
3882
  isSort?: boolean;
3834
3883
  isAsc?: boolean;
3835
3884
  }
3885
+ interface PhaseGateCell {
3886
+ phaseName: string;
3887
+ statusLabel: string;
3888
+ statusColor: string;
3889
+ percentage: number | null;
3890
+ isCurrent: boolean;
3891
+ isCompleted: boolean;
3892
+ allItemsCompleted: boolean;
3893
+ raw: any;
3894
+ }
3836
3895
  interface TableStyleConfig {
3837
3896
  thTextColor?: string;
3838
3897
  thBackgroundColor?: string;
@@ -3847,7 +3906,22 @@ interface TableStyleConfig {
3847
3906
  hideTableSubheader?: boolean;
3848
3907
  hideIndex?: boolean;
3849
3908
  }
3909
+ interface TableVirtualRow {
3910
+ trackId: string;
3911
+ row: any;
3912
+ rowIndex: number;
3913
+ }
3914
+ interface GroupedTableVirtualItem {
3915
+ kind: 'group' | 'row';
3916
+ trackId: string;
3917
+ group: any;
3918
+ groupIndex: number;
3919
+ row?: any;
3920
+ rowIndex?: number;
3921
+ }
3850
3922
  declare class TableCardComponent implements OnInit, OnDestroy {
3923
+ private readonly virtualRowHeightPx;
3924
+ private readonly virtualOverscanRows;
3851
3925
  private readonly storeService;
3852
3926
  private readonly transloco;
3853
3927
  private readonly subscription;
@@ -3874,6 +3948,10 @@ declare class TableCardComponent implements OnInit, OnDestroy {
3874
3948
  readonly tableRows: _angular_core.WritableSignal<any[]>;
3875
3949
  /** Grouped data */
3876
3950
  readonly groupedData: _angular_core.WritableSignal<any[]>;
3951
+ /** Virtual scroll offset for the native dashboard table renderer. */
3952
+ readonly tableScrollTop: _angular_core.WritableSignal<number>;
3953
+ /** Current table viewport height. Defaults to the timeline/card body size. */
3954
+ readonly tableViewportHeight: _angular_core.WritableSignal<number>;
3877
3955
  /** Title */
3878
3956
  readonly title: _angular_core.Signal<string>;
3879
3957
  /** Table style config */
@@ -3888,10 +3966,29 @@ declare class TableCardComponent implements OnInit, OnDestroy {
3888
3966
  readonly visibleColumns: _angular_core.Signal<TableColumn[]>;
3889
3967
  /** Total columns (for colspan) */
3890
3968
  readonly totalColumns: _angular_core.Signal<number>;
3969
+ readonly flatVirtualWindow: _angular_core.Signal<{
3970
+ startIndex: number;
3971
+ endIndex: number;
3972
+ }>;
3973
+ readonly visibleTableRows: _angular_core.Signal<TableVirtualRow[]>;
3974
+ readonly flatVirtualTopSpacerHeightPx: _angular_core.Signal<number>;
3975
+ readonly flatVirtualBottomSpacerHeightPx: _angular_core.Signal<number>;
3976
+ readonly flattenedGroupedRows: _angular_core.Signal<GroupedTableVirtualItem[]>;
3977
+ readonly groupedVirtualWindow: _angular_core.Signal<{
3978
+ startIndex: number;
3979
+ endIndex: number;
3980
+ }>;
3981
+ readonly visibleGroupedRows: _angular_core.Signal<GroupedTableVirtualItem[]>;
3982
+ readonly groupedVirtualTopSpacerHeightPx: _angular_core.Signal<number>;
3983
+ readonly groupedVirtualBottomSpacerHeightPx: _angular_core.Signal<number>;
3891
3984
  /** Row clickable */
3892
3985
  readonly isRowClickable: _angular_core.Signal<boolean | undefined>;
3893
3986
  ngOnInit(): void;
3894
3987
  ngOnDestroy(): void;
3988
+ onTableScroll(event: Event): void;
3989
+ private resolveVirtualWindow;
3990
+ private resolveRowTrackId;
3991
+ private resolveGroupTrackId;
3895
3992
  /**
3896
3993
  * Build table columns and rows from raw data
3897
3994
  * Matches old buildTable logic in table-card.component.ts
@@ -3905,6 +4002,16 @@ declare class TableCardComponent implements OnInit, OnDestroy {
3905
4002
  * Build grouped table
3906
4003
  */
3907
4004
  private buildGroupedTable;
4005
+ private isPhaseGateTable;
4006
+ private buildPhaseGateTable;
4007
+ private extractPhaseGateValues;
4008
+ private findLargestRow;
4009
+ private resolvePhaseGateFields;
4010
+ private findFirstFieldValue;
4011
+ private isPhaseGateMetaField;
4012
+ private toPhaseColumnKey;
4013
+ private getPhaseGateGroupKey;
4014
+ private buildPhaseGateCell;
3908
4015
  getLegendColor(label: any): string;
3909
4016
  getLegendText(label: any): string;
3910
4017
  private extractLabels;
@@ -3913,6 +4020,12 @@ declare class TableCardComponent implements OnInit, OnDestroy {
3913
4020
  * Returns the full entity data object { viewType, value, label }
3914
4021
  */
3915
4022
  getCellData(row: any, column: TableColumn): any;
4023
+ isPhaseGateColumn(column: TableColumn): boolean;
4024
+ getPhaseGateCell(row: any, column: TableColumn): PhaseGateCell | null;
4025
+ getPhaseGateCellColor(cell: PhaseGateCell | null): string;
4026
+ getPhaseGateCellText(cell: PhaseGateCell | null): string;
4027
+ getPhaseGatePercentage(cell: PhaseGateCell | null): number | null;
4028
+ getPhaseGateCellTooltip(cell: PhaseGateCell | null): string;
3916
4029
  /**
3917
4030
  * Sort column
3918
4031
  */
@@ -3960,7 +4073,7 @@ declare class TopbarCardComponent implements OnInit, OnDestroy {
3960
4073
  readonly iconColor: _angular_core.Signal<any>;
3961
4074
  readonly iconBackgroundColor: _angular_core.Signal<any>;
3962
4075
  readonly borderColor: _angular_core.Signal<any>;
3963
- readonly borderWidth: _angular_core.Signal<0 | 1>;
4076
+ readonly borderWidth: _angular_core.Signal<1 | 0>;
3964
4077
  readonly padding: _angular_core.Signal<number>;
3965
4078
  readonly titleFontSize: _angular_core.Signal<number>;
3966
4079
  readonly subtitleFontSize: _angular_core.Signal<number>;
@@ -4110,6 +4223,7 @@ declare class ChartDataService {
4110
4223
  * Build HTTP request based on request type
4111
4224
  */
4112
4225
  private buildRequest;
4226
+ private resolveRequestType;
4113
4227
  /**
4114
4228
  * Merge service config filters with runtime filters
4115
4229
  */
@@ -4211,6 +4325,9 @@ declare class BarChartHandler {
4211
4325
  * Transforms bar chart data into entity preview format (flat array of properties)
4212
4326
  */
4213
4327
  handleEntityPreviewWithFormula(dataResponse: any, config: ItemConfig): any;
4328
+ private normalizeLegendPosition;
4329
+ private getLegendLayout;
4330
+ private getLegendGridOffset;
4214
4331
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BarChartHandler, never>;
4215
4332
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<BarChartHandler>;
4216
4333
  }
@@ -4222,6 +4339,13 @@ declare class PieChartHandler {
4222
4339
  * Returns ECharts option directly (exactly like old DountChartService.handleDonutChart)
4223
4340
  */
4224
4341
  handleDonutChart(dataResponse: any, config: ItemConfig): any;
4342
+ private resolvePieLabelFormatter;
4343
+ private normalizePieLabelPosition;
4344
+ private pieLabelFormatterUsesName;
4345
+ private normalizeLegendPosition;
4346
+ private applyPieLegendPosition;
4347
+ private hasExplicitPieCenter;
4348
+ private getPieCenterForLegendPosition;
4225
4349
  /**
4226
4350
  * Normalize chart data - aggregate duplicate labels
4227
4351
  * Exactly matches old DountChartService.normalizeChartData
@@ -4367,6 +4491,9 @@ declare class LineChartHandler {
4367
4491
  * Build ECharts configuration
4368
4492
  */
4369
4493
  private buildChartOption;
4494
+ private normalizeLegendPosition;
4495
+ private getLegendLayout;
4496
+ private getLegendGridOffset;
4370
4497
  /**
4371
4498
  * Get default color for series index
4372
4499
  */
@@ -4396,6 +4523,9 @@ declare class SnapshotHandler {
4396
4523
  * Returns ECharts option directly
4397
4524
  */
4398
4525
  handleSnapShotLineBarChart(data: any, config: ItemConfig): any;
4526
+ private normalizeLegendPosition;
4527
+ private getLegendLayout;
4528
+ private getLegendGridOffset;
4399
4529
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SnapshotHandler, never>;
4400
4530
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<SnapshotHandler>;
4401
4531
  }
@@ -4442,6 +4572,9 @@ declare class ComparisonChartHandler {
4442
4572
  * Build Planned vs Actual chart with variance indicators
4443
4573
  */
4444
4574
  private buildPlannedActualChart;
4575
+ private normalizeLegendPosition;
4576
+ private getLegendLayout;
4577
+ private getLegendGridOffset;
4445
4578
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ComparisonChartHandler, never>;
4446
4579
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<ComparisonChartHandler>;
4447
4580
  }
@@ -4532,6 +4665,8 @@ declare class MapChartHandler {
4532
4665
  * Returns ECharts option directly
4533
4666
  */
4534
4667
  handleMapChart(dataResponse: any, config: ItemConfig): any;
4668
+ private normalizeLegendPosition;
4669
+ private getLegendLayout;
4535
4670
  /**
4536
4671
  * handleLeafletMap - matches functionName from CHART_TYPES
4537
4672
  * Returns data directly as array of grouped records
@@ -4662,6 +4797,9 @@ declare class SPlusChartHandler {
4662
4797
  * Get color based on status
4663
4798
  */
4664
4799
  private getStatusColor;
4800
+ private normalizeLegendPosition;
4801
+ private getLegendLayout;
4802
+ private getLegendGridOffset;
4665
4803
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SPlusChartHandler, never>;
4666
4804
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<SPlusChartHandler>;
4667
4805
  }
@@ -5076,6 +5214,8 @@ declare class DashboardBuilderService {
5076
5214
  readonly filters: _angular_core.WritableSignal<any[]>;
5077
5215
  /** Chart for selected dialog */
5078
5216
  readonly chartForSelectedDialog: _angular_core.WritableSignal<any>;
5217
+ /** Dialog configs available to runtime action handling, keyed by dashboardId. */
5218
+ readonly dialogConfigs: _angular_core.WritableSignal<Map<string | number, ItemConfig>>;
5079
5219
  /**
5080
5220
  * Selector to Name mapping (e.g., "Level:7" -> "Project")
5081
5221
  * Built from tree data, used to resolve selectorName for properties
@@ -5090,8 +5230,9 @@ declare class DashboardBuilderService {
5090
5230
  */
5091
5231
  readonly modulesTreeServices: _angular_core.WritableSignal<readonly string[] | null>;
5092
5232
  /**
5093
- * Selected workspace for metadata requests. Hosts with workspace-aware
5094
- * metadata can set it through the data-source UI; older hosts ignore it.
5233
+ * Optional saved workspace scope for module/property metadata requests.
5234
+ * Dashboard Builder preserves existing configs, but does not fetch workspace
5235
+ * options from metadata.
5095
5236
  */
5096
5237
  readonly modulesTreeWorkspaceId: _angular_core.WritableSignal<string | number | null>;
5097
5238
  /**
@@ -5103,6 +5244,7 @@ declare class DashboardBuilderService {
5103
5244
  private urlPrefix;
5104
5245
  /** Module tree requests are shared per services/workspace key. */
5105
5246
  private readonly modulesTreeCache;
5247
+ private readonly modulesTreeDataCache;
5106
5248
  /** HTTP context for gateway requests */
5107
5249
  private gatewayContext;
5108
5250
  constructor();
@@ -5126,6 +5268,8 @@ declare class DashboardBuilderService {
5126
5268
  * Clear all fixed selections
5127
5269
  */
5128
5270
  clearFixedSelections(): void;
5271
+ setDialogItems(dialogs: DashboardDialogItem[] | null | undefined): void;
5272
+ getDialogConfig(dialogId: string | number | null | undefined): ItemConfig | null;
5129
5273
  setModulesTreeServices(services: readonly string[] | null | undefined): void;
5130
5274
  setModulesTreeWorkspaceId(workspaceId: string | number | null | undefined): void;
5131
5275
  /**
@@ -5207,16 +5351,13 @@ declare class DashboardBuilderService {
5207
5351
  * Get all available services from gateway
5208
5352
  */
5209
5353
  getMetadataServices(): Observable<ApiResponse<any[]>>;
5210
- /**
5211
- * Get workspace options from gateway metadata. Older gateways may not expose
5212
- * this route; callers should treat failures as "no workspace filter".
5213
- */
5214
- getWorkspaces(): Observable<ApiResponse<WorkspaceOption[]>>;
5215
5354
  /**
5216
5355
  * Get modules tree with all services, modules, and values in a single call
5217
5356
  * This returns the complete tree structure for efficient caching
5218
5357
  */
5219
5358
  getModulesTree(request?: ModulesTreeRequest): Observable<ApiResponse<ModulesTreeResponse>>;
5359
+ getCachedModulesTree(request?: ModulesTreeRequest): ServiceItem[] | null;
5360
+ private getModulesTreeCacheKey;
5220
5361
  /**
5221
5362
  * Get modules for a specific service
5222
5363
  * @param serviceName The service name (e.g., 'pplus')
@@ -5387,6 +5528,26 @@ declare class ManageBreadcrumb implements OnInit {
5387
5528
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ManageBreadcrumb, "mt-manage-breadcrumb", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
5388
5529
  }
5389
5530
 
5531
+ /**
5532
+ * Translation pair
5533
+ */
5534
+ interface Translation {
5535
+ ar: string;
5536
+ en: string;
5537
+ }
5538
+ /**
5539
+ * Property Translations map
5540
+ */
5541
+ interface PropertyTranslations {
5542
+ [key: string]: Translation;
5543
+ }
5544
+
5545
+ interface ManageFilterOnPageResult {
5546
+ filters: FilterField[];
5547
+ bulkSelection?: ISelection[];
5548
+ bulkOperation?: 'applyFilters' | 'deleteFilters';
5549
+ labels?: PropertyTranslations;
5550
+ }
5390
5551
  /**
5391
5552
  * Manage Filter On Page Component
5392
5553
  *
@@ -5404,17 +5565,27 @@ declare class ManageFilterOnPage implements OnInit {
5404
5565
  private ref;
5405
5566
  /** Input: Initial filters data */
5406
5567
  readonly data: _angular_core.InputSignal<FilterField[]>;
5568
+ /** All charts and dialogs on the selected dashboard. */
5569
+ readonly chartItems: _angular_core.InputSignal<(DashboardChartItem | DashboardDialogItem)[]>;
5407
5570
  /** Input: Available lookups for dropdown */
5408
5571
  readonly lookups: _angular_core.InputSignal<any[]>;
5409
5572
  /** Input: Available level schemas */
5410
5573
  readonly levelsSchema: _angular_core.InputSignal<any[]>;
5411
5574
  /** Filters configuration */
5412
5575
  readonly filtersConfig: _angular_core.WritableSignal<FilterField[]>;
5576
+ /** Bulk selection filters to apply/delete across matching charts. */
5577
+ readonly bulkSelection: _angular_core.WritableSignal<ISelection[]>;
5578
+ /** Labels to apply to all table/dialog table charts. */
5579
+ readonly bulkLabels: _angular_core.WritableSignal<PropertyTranslations>;
5413
5580
  /** Level logs for status filter */
5414
5581
  readonly levelLogs: _angular_core.WritableSignal<any[]>;
5582
+ readonly bulkPropertyOptions: _angular_core.Signal<IProperty[]>;
5583
+ readonly bulkPropertyKeys: _angular_core.Signal<string[]>;
5415
5584
  ngOnInit(): void;
5416
5585
  /** Handle filter configuration changes */
5417
5586
  onFiltersChange(filters: FilterField[]): void;
5587
+ onBulkSelectionChange(selections: ISelection[]): void;
5588
+ onBulkLabelsChange(labels: PropertyTranslations): void;
5418
5589
  /**
5419
5590
  * Hook for hosts that want to feed level-log values into the filter
5420
5591
  * dialog. The host listens to `(loadLevelLogs)` (when consumers wire it)
@@ -5424,10 +5595,13 @@ declare class ManageFilterOnPage implements OnInit {
5424
5595
  onLoadLevelLogs(_schemaLevelId: number): void;
5425
5596
  /** Save and close the dialog */
5426
5597
  save(): void;
5598
+ applyBulkFilters(): void;
5599
+ deleteBulkFilters(): void;
5600
+ applyBulkLabels(): void;
5427
5601
  /** Cancel and close the dialog */
5428
5602
  close(): void;
5429
5603
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ManageFilterOnPage, never>;
5430
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ManageFilterOnPage, "mt-manage-filter-on-page", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "lookups": { "alias": "lookups"; "required": false; "isSignal": true; }; "levelsSchema": { "alias": "levelsSchema"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
5604
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ManageFilterOnPage, "mt-manage-filter-on-page", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "chartItems": { "alias": "chartItems"; "required": false; "isSignal": true; }; "lookups": { "alias": "lookups"; "required": false; "isSignal": true; }; "levelsSchema": { "alias": "levelsSchema"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
5431
5605
  }
5432
5606
 
5433
5607
  declare class DynamicFiltersConfig implements ControlValueAccessor {
@@ -5527,6 +5701,7 @@ declare class ChartSettingsDrawer {
5527
5701
  readonly modal: ModalService;
5528
5702
  private readonly chartDataService;
5529
5703
  private readonly itemStoreService;
5704
+ private readonly dashboardStore;
5530
5705
  readonly previewDashboardId: string;
5531
5706
  /** The chart item signal - reactive for proper change detection */
5532
5707
  readonly item: _angular_core.WritableSignal<DashboardChartItem | null>;
@@ -5573,6 +5748,13 @@ declare class ChartSettingsDrawer {
5573
5748
  readonly previewChartData: _angular_core.Signal<ChartDataHandled | null>;
5574
5749
  /** True when the stored data can be rendered by the ECharts preview. */
5575
5750
  readonly canRenderChartPreview: _angular_core.Signal<boolean>;
5751
+ /** Localized title shown inside the isolated preview card. */
5752
+ readonly previewTitle: _angular_core.Signal<string>;
5753
+ /** Runtime style inputs used by mt-card-content in the preview shell. */
5754
+ readonly previewStyleConfig: _angular_core.Signal<_masterteam_dashboard_builder.StyleConfig | null>;
5755
+ readonly previewCardStyleConfig: _angular_core.Signal<any>;
5756
+ readonly previewHeaderConfig: _angular_core.Signal<any>;
5757
+ readonly previewDensity: _angular_core.Signal<any>;
5576
5758
  /** Determine the type of manage UI to show */
5577
5759
  readonly manageType: _angular_core.Signal<QuickManageType>;
5578
5760
  /**
@@ -6582,6 +6764,12 @@ declare class TableQuery implements ControlValueAccessor {
6582
6764
  createAggregationFormGroup(agg?: Partial<AggregationProperty>): FormGroup;
6583
6765
  addAggregation(): void;
6584
6766
  removeAggregation(index: number): void;
6767
+ selectedProperties(): string[];
6768
+ pivotProperties(): string[];
6769
+ moveSelectedProperty(index: number, direction: -1 | 1): void;
6770
+ movePivotProperty(index: number, direction: -1 | 1): void;
6771
+ getPropertyLabel(key: string): string;
6772
+ private moveProperty;
6585
6773
  trackByIndex(index: number): number;
6586
6774
  private normalizeAggregateFunction;
6587
6775
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableQuery, never>;
@@ -6669,10 +6857,8 @@ declare class DataSourceSettings {
6669
6857
  readonly selectionMode: _angular_core.WritableSignal<"advanced" | "context">;
6670
6858
  readonly contextTargetSelector: _angular_core.WritableSignal<string | null>;
6671
6859
  readonly contextTargetApplyToken: _angular_core.WritableSignal<number>;
6672
- /** Workspace-aware metadata state. Hidden when the gateway has no endpoint. */
6673
- readonly workspaceOptions: _angular_core.WritableSignal<WorkspaceOption[]>;
6860
+ /** Saved workspace id is preserved for existing configs, but no workspace endpoint is called. */
6674
6861
  readonly selectedWorkspaceId: _angular_core.WritableSignal<string | number | null>;
6675
- readonly showWorkspaceSelector: _angular_core.Signal<boolean>;
6676
6862
  /** Tab options for display */
6677
6863
  readonly tabOptions: _angular_core.Signal<{
6678
6864
  id: string;
@@ -6727,7 +6913,6 @@ declare class DataSourceSettings {
6727
6913
  * Handle selection changes
6728
6914
  */
6729
6915
  onSelectionsChange(selections: ISelection[]): void;
6730
- onWorkspaceChange(workspaceId: string | number | null): void;
6731
6916
  /**
6732
6917
  * Handle context-aware template selection for informative mode.
6733
6918
  */
@@ -6858,7 +7043,6 @@ declare class DataSourceSettings {
6858
7043
  * Get chart type id for query component
6859
7044
  */
6860
7045
  getChartTypeId(): string;
6861
- private loadWorkspaceOptions;
6862
7046
  private getContextTargetState;
6863
7047
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataSourceSettings, never>;
6864
7048
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataSourceSettings, "mt-data-source-settings", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; "chartType": { "alias": "chartType"; "required": false; "isSignal": true; }; "informativeContext": { "alias": "informativeContext"; "required": false; "isSignal": true; }; }, { "serviceConfigChange": "serviceConfigChange"; }, never, never, true, never>;
@@ -7031,4 +7215,4 @@ declare class GetChartActionsPipe implements PipeTransform {
7031
7215
  declare function cloneDeep<T>(obj: T): T;
7032
7216
 
7033
7217
  export { ActionsSettings, BarChartHandler, BarControlUi, CHART_CAPABILITIES, CHART_TYPES, CONFIG_DOMAINS, CardContentComponent, CardFilterComponent, CardInfoComponent, ChartCardComponent, ChartDataService, ChartFilterDrawer, ChartSettingsDrawer, ChartViewer, ComparisonChartHandler, DashboardBuilder, DashboardBuilderService, DashboardItem, DashboardItemStoreService, DashboardList, DashboardStoreService, DashboardViewer, DataSourceSettings, DatasourcePanelComponent, DefaultControlUi, DisplaySettings, DynamicFiltersComponent, DynamicFiltersConfig, EChartComponent, PropertiesCardComponent as EntitiesPreviewCardComponent, EntityInfoComponent, EntityPreviewCardComponent, FilterBuilderComponent, FilterByGroupPipe, FilterChipsBarComponent, GaugeChartHandler, GeneralSettings, GetChartActionsPipe, GuidedConfigDialogComponent, HTTPMethod, HeaderCardComponent, ITEM_GUIDANCE_REGISTRY, ItemCardMenuComponent, ItemConfigPopoverComponent, ItemContextToolbarComponent, ItemGuidanceService, LevelCardHandler, LineChartHandler, ListStatisticCardComponent, ManageBreadcrumb, ManageFilterOnPage, ManageItem, ManageItemService, ManagePages, MapChartHandler, OverviewCardHandler, POPOVER_TABS, POPOVER_TAB_SPECS, PhaseGateStepperHandler, PieChartHandler, PieControlUi, PropertiesCardComponent, RingGaugeChartHandler, SPlusChartHandler, STYLE_PRESETS, SchemaControlRendererComponent, SkeletonCardComponent, SnapshotHandler, SplitterChartHandler, StackBarChartHandler, StackBarControlUi, StaticFiltersComponent, StatisticCardComponent, TableCardComponent, TableViewHandler, TimelineHandler, TopbarCardComponent, addCommasToNumber, applyBehaviorToPersisted, applyControlPatchToPersisted, applyControlPatchesToPersisted, applyFilterChipsToPersisted, applyLabelLegendFormatToPersisted, applyLayoutToPersisted, applyStyleToPersisted, applyTitleToPersisted, axisFormatters, behaviorToUi, bindingKey, buildAssembly, buildDisplayFieldPredicate, cloneDeep, createAxisFormatter, createTooltipFormatter, datasourceToUi, deepMerge, describeGuidance, domainsForCapability, dynamicReorder, dynamicTextReplace, fieldsToUi, filtersToUi, findDomain, findPreset, flattenSchema, formatCurrency, formatDate, formatForEditor, formatNumber, formatPercentage, formatValue, formatWordsUnderBar, formatXAxis, generalConfiguration, getBinding, getCapabilityById, getColorFromConditions, getControlSchema, getFallbackControlSchema, getLocalizedTitle, getNestedData, groupDatesByYearAndMonth, groupIssuesByDomain, handleFilterForCard, handleFilterForSnapshot, handleFiltersForCustom, hasBlockingIssues, isMobilePlatform, labelLegendFormatToUi, layoutToUi, listBindings, listBindingsForChart, listControlSchemaIds, listControlSchemas, moduleIdFromSelector, normalizeAggregateFunction, normalizeBeforeRequest, normalizeBeforeSave, normalizeChartTypeForRequest, normalizeFilterOperation, normalizeFilters, normalizeOnLoad, parseAdvancedJson, persistedToUi, presetsForCapability, readBoundValue, readByPath, resolveCapability, resolveDisplayFields, selectorFromLegacy, setByPath, sortChartData, sortDataTableView, styleToUi, switchAllKeysSmall, switchAllKeysToLower, titleToUi, toBackendChartType, toBackendSourceLink, validate };
7034
- export type { ActionConfig, ApiResponse, BackendChartType, BarChartData, BehaviorUi, BindingScope, BreadcrumbItem, BulkLinkChartRequest, BulkLinkChartResponse, BulkPropertiesRequest, BulkPropertiesResponse, BulkPropertiesResponseItem, BulkPropertiesResponseItemDto, BulkPropertyRequestItem, CardBorderStyleConfig, CardInfoConfig$1 as CardInfoConfig, CardStyleConfig$1 as CardStyleConfig, CatalogPropertyDto, ChartActionEvent, ChartActionsContext, ChartCapability, ChartCapabilityLegacyAliases, RequestType$1 as ChartCapabilityRequestType, ChartData, ChartDataHandled, ChartDomainSupport, ChartLabel, ChartLinkConfiguration, ChartTypeConfig, ClientConfig, ComponentType, ConfigDomainKey, ConfigDomainSpec, ConfigLookupShape, ConfigViewAssembly, ControlBinding, ControlBindingIndex, ControlBindingValueAdapter, ControlDomain, ControlField, ControlFieldType, ControlOption, ControlPatch, ControlSchema, ControlSection, ControlSectionScope, ControlVisiblePredicate, CustomApi, DashboardBuilderData, DashboardChartItem, DashboardChartTemplate, DashboardDialogItem, DashboardInformativeContext, DashboardItemStore, DashboardListEvent, DashboardPage, DashboardSaveRequestOptions, DashboardTargetOption, DashboardTargetPathStep, DashboardTargetTemplateFilter, DashboardTargetTemplateSelection, DashboardTargetTemplateSourceLink, DashboardTargetsContextInfo, DashboardTargetsResponse, DatasourceUi, DisplayConfig, DisplayField, DisplayFieldQuery, DisplaySchema, EChartSeriesItem, ExcelSheet, FieldAssignment, FieldsUi, FilterChip, FilterConfig, FilterOperator, FilterOption, FilterScope, FilterSource, FiltersUi, FlattenedControl, FormatXAxisConfig$1 as FormatXAxisConfig, GroupedModuleOption, GuidanceInput, GuidedConfigDialogData, GuidedConfigDialogResult, GuidedStep, HandleAction, HeaderCardConfig$1 as HeaderCardConfig, IModule, IModuleType, IProperty, IPropertyWithGroup, ISelection, ItemCardMenuAction, ItemConfig, ItemConfigPopoverData, ItemConfigPopoverResult, ItemContextAction, ItemGuidanceAction, ItemGuidanceDescriptor, ItemGuidanceSeverity, ItemGuidanceState, LabelLegendFormatUi, LayoutUi, LevelCardData, LevelCardProperty, LinkChartRequest, LocalizedName, ModuleItem, ModuleSelectOption, ModuleType, ModuleValue, ModulesTreeRequest, ModulesTreeResponse, ParseResult, PersistedItemConfig, PhaseGateProperty, PhaseGateStep, PieChartData, PopoverTab, PopoverTabSpec, Product, PropertiesResponse, PropertyItem, PropertyItemOption, PropertyItemsResponse, QueryEditorKind, QueryField, QuerySchema, QuickManageType, RendererKey, Report, ReportChartLink, ReportDashboardConfig, ReportExcelConfig, ReportType, ReportUrl, RequestType, RuntimeItemConfig, SelectionFilter, ServiceConfig, ServiceItem, SourceLink, StaticFilterConfig, StaticFilterItem, StatisticCardData, StyleConfig, StylePreset, StylePresetKey, StyleUi, TableColumn$1 as TableColumn, TableViewData, TimelineData, TimelineItem, TitleUi, UiItemConfig, UnlinkChartRequest, ValidateOptions, ValidationIssue, ValidationSeverity, WorkspaceOption };
7218
+ export type { ActionConfig, ApiResponse, BackendChartType, BarChartData, BehaviorUi, BindingScope, BreadcrumbItem, BulkLinkChartRequest, BulkLinkChartResponse, BulkPropertiesRequest, BulkPropertiesResponse, BulkPropertiesResponseItem, BulkPropertiesResponseItemDto, BulkPropertyRequestItem, CardBorderStyleConfig, CardInfoConfig$1 as CardInfoConfig, CardStyleConfig$1 as CardStyleConfig, CatalogPropertyDto, ChartActionEvent, ChartActionsContext, ChartCapability, ChartCapabilityLegacyAliases, RequestType$1 as ChartCapabilityRequestType, ChartData, ChartDataHandled, ChartDomainSupport, ChartLabel, ChartLinkConfiguration, ChartTypeConfig, ClientConfig, ComponentType, ConfigDomainKey, ConfigDomainSpec, ConfigLookupShape, ConfigViewAssembly, ControlBinding, ControlBindingIndex, ControlBindingValueAdapter, ControlDomain, ControlField, ControlFieldType, ControlOption, ControlPatch, ControlSchema, ControlSection, ControlSectionScope, ControlVisiblePredicate, CustomApi, DashboardBuilderData, DashboardChartItem, DashboardChartTemplate, DashboardDialogItem, DashboardInformativeContext, DashboardItemStore, DashboardListEvent, DashboardPage, DashboardSaveRequestOptions, DashboardTargetOption, DashboardTargetPathStep, DashboardTargetTemplateFilter, DashboardTargetTemplateSelection, DashboardTargetTemplateSourceLink, DashboardTargetsContextInfo, DashboardTargetsResponse, DatasourceUi, DisplayConfig, DisplayField, DisplayFieldQuery, DisplaySchema, EChartSeriesItem, ExcelSheet, FieldAssignment, FieldsUi, FilterChip, FilterConfig, FilterOperator, FilterOption, FilterScope, FilterSource, FiltersUi, FlattenedControl, FormatXAxisConfig$1 as FormatXAxisConfig, GroupedModuleOption, GuidanceInput, GuidedConfigDialogData, GuidedConfigDialogResult, GuidedStep, HandleAction, HeaderCardConfig$1 as HeaderCardConfig, IModule, IModuleType, IProperty, IPropertyWithGroup, ISelection, ItemCardMenuAction, ItemConfig, ItemConfigPopoverData, ItemConfigPopoverResult, ItemContextAction, ItemGuidanceAction, ItemGuidanceDescriptor, ItemGuidanceSeverity, ItemGuidanceState, LabelLegendFormatUi, LayoutUi, LevelCardData, LevelCardProperty, LinkChartRequest, LocalizedName, ManageFilterOnPageResult, ModuleItem, ModuleSelectOption, ModuleType, ModuleValue, ModulesTreeRequest, ModulesTreeResponse, ParseResult, PersistedItemConfig, PhaseGateProperty, PhaseGateStep, PieChartData, PopoverTab, PopoverTabSpec, Product, PropertiesResponse, PropertyItem, PropertyItemOption, PropertyItemsResponse, QueryEditorKind, QueryField, QuerySchema, QuickManageType, RendererKey, Report, ReportChartLink, ReportDashboardConfig, ReportExcelConfig, ReportType, ReportUrl, RequestType, RuntimeItemConfig, SelectionFilter, ServiceConfig, ServiceItem, SourceLink, StaticFilterConfig, StaticFilterItem, StatisticCardData, StyleConfig, StylePreset, StylePresetKey, StyleUi, TableColumn$1 as TableColumn, TableViewData, TimelineData, TimelineItem, TitleUi, UiItemConfig, UnlinkChartRequest, ValidateOptions, ValidationIssue, ValidationSeverity };