@praxisui/charts 8.0.0-beta.0 → 8.0.0-beta.100

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,11 +1,15 @@
1
1
  {
2
2
  "name": "@praxisui/charts",
3
- "version": "8.0.0-beta.0",
3
+ "version": "8.0.0-beta.100",
4
4
  "description": "Metadata-driven charts library for Praxis UI Angular with engine adapters and Apache ECharts as the initial renderer.",
5
5
  "peerDependencies": {
6
- "@angular/common": "^20.0.0",
7
- "@angular/core": "^20.0.0",
8
- "@praxisui/core": "^8.0.0-beta.0"
6
+ "@angular/common": "^21.0.0",
7
+ "@angular/core": "^21.0.0",
8
+ "@praxisui/core": "^8.0.0-beta.100",
9
+ "@angular/forms": "^21.0.0",
10
+ "@angular/material": "^21.0.0",
11
+ "@praxisui/table": "^8.0.0-beta.100",
12
+ "rxjs": "~7.8.0"
9
13
  },
10
14
  "dependencies": {
11
15
  "echarts": "^6.0.0",
@@ -17,7 +21,7 @@
17
21
  },
18
22
  "repository": {
19
23
  "type": "git",
20
- "url": "https://github.com/codexrodrigues/praxis-ui-angular"
24
+ "url": "git+https://github.com/codexrodrigues/praxis-ui-angular.git"
21
25
  },
22
26
  "homepage": "https://praxisui.dev",
23
27
  "bugs": {
@@ -33,14 +37,15 @@
33
37
  ],
34
38
  "sideEffects": false,
35
39
  "module": "fesm2022/praxisui-charts.mjs",
36
- "typings": "index.d.ts",
40
+ "typings": "types/praxisui-charts.d.ts",
37
41
  "exports": {
38
42
  "./package.json": {
39
43
  "default": "./package.json"
40
44
  },
41
45
  ".": {
42
- "types": "./index.d.ts",
46
+ "types": "./types/praxisui-charts.d.ts",
43
47
  "default": "./fesm2022/praxisui-charts.mjs"
44
48
  }
45
- }
49
+ },
50
+ "type": "module"
46
51
  }
@@ -1,11 +1,11 @@
1
1
  import * as _praxisui_charts from '@praxisui/charts';
2
2
  import * as _angular_core from '@angular/core';
3
- import { InjectionToken, Provider } from '@angular/core';
3
+ import { InjectionToken, Provider, AfterViewInit, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
4
4
  import * as _praxisui_core from '@praxisui/core';
5
- import { PraxisTextValue, WidgetDefinition, WidgetShellConfig, WidgetInstance, ComponentMetadataRegistry, ApiUrlConfig, PraxisAnalyticsProjection, AnalyticsSchemaContractService, AnalyticsPresentationResolver, WidgetPageDefinition, SettingsValueProvider, PraxisI18nDictionary, PraxisI18nConfig, PraxisI18nMessageDescriptor, ComponentDocMeta } from '@praxisui/core';
5
+ import { PraxisTextValue, WidgetDefinition, WidgetShellConfig, WidgetInstance, ComponentMetadataRegistry, ApiUrlConfig, PraxisI18nService, PraxisAnalyticsProjection, AnalyticsSchemaContractService, AnalyticsPresentationResolver, WidgetPageDefinition, SettingsValueProvider, PraxisI18nDictionary, PraxisI18nConfig, PraxisI18nMessageDescriptor, ComponentAuthoringManifest, ComponentDocMeta } from '@praxisui/core';
6
+ import { Observable, BehaviorSubject } from 'rxjs';
6
7
  import { EChartsCoreOption } from 'echarts';
7
8
  import { HttpClient } from '@angular/common/http';
8
- import { Observable, BehaviorSubject } from 'rxjs';
9
9
 
10
10
  type PraxisChartAxisType = 'category' | 'value' | 'time';
11
11
  type PraxisChartAxisPosition = 'top' | 'bottom' | 'left' | 'right';
@@ -28,14 +28,14 @@ type PraxisChartPrimitive = string | number | boolean | Date | null | undefined;
28
28
  type PraxisChartDataRow = Record<string, PraxisChartPrimitive>;
29
29
  interface PraxisChartQueryMetricConfig {
30
30
  field?: string;
31
- aggregation?: 'sum' | 'count' | 'avg' | 'min' | 'max';
31
+ aggregation?: 'sum' | 'count' | 'distinct-count' | 'avg' | 'min' | 'max';
32
32
  alias?: string;
33
33
  }
34
34
  type PraxisChartStatsOperation = 'group-by' | 'timeseries' | 'distribution';
35
35
  type PraxisChartStatsDistributionMode = 'terms' | 'histogram';
36
36
  type PraxisChartStatsOrderBy = 'key-asc' | 'key-desc' | 'value-asc' | 'value-desc';
37
- type PraxisChartStatsGranularity = 'hour' | 'day' | 'week' | 'month' | 'quarter' | 'year';
38
- type PraxisChartStatsMetricOperation = 'COUNT' | 'SUM' | 'AVG' | 'MIN' | 'MAX';
37
+ type PraxisChartStatsGranularity = 'day' | 'week' | 'month';
38
+ type PraxisChartStatsMetricOperation = 'COUNT' | 'DISTINCT_COUNT' | 'SUM' | 'AVG' | 'MIN' | 'MAX';
39
39
  interface PraxisChartStatsMetricRequest {
40
40
  operation: PraxisChartStatsMetricOperation;
41
41
  field?: string;
@@ -114,6 +114,8 @@ interface PraxisChartInteractionConfig {
114
114
  pointClick?: boolean;
115
115
  selection?: boolean;
116
116
  drillDown?: boolean;
117
+ crossFilter?: boolean;
118
+ eventActions?: Partial<Record<'pointClick' | 'selectionChange' | 'drillDown' | 'crossFilter', PraxisChartDeclarativeEventAction>>;
117
119
  }
118
120
  interface PraxisChartPointEvent {
119
121
  chartId?: string;
@@ -123,6 +125,23 @@ interface PraxisChartPointEvent {
123
125
  value?: unknown;
124
126
  data?: unknown;
125
127
  }
128
+ interface PraxisChartDeclarativeEventAction {
129
+ action: 'filter-widget' | 'open-detail' | 'navigate' | 'update-context' | 'emit';
130
+ target?: string;
131
+ mapping?: Record<string, string>;
132
+ }
133
+ interface PraxisChartSelectionEvent extends PraxisChartPointEvent {
134
+ selected: boolean;
135
+ filters: Record<string, unknown>;
136
+ action?: PraxisChartDeclarativeEventAction;
137
+ }
138
+ interface PraxisChartCrossFilterEvent {
139
+ chartId?: string;
140
+ filters: Record<string, unknown>;
141
+ target?: string;
142
+ action?: PraxisChartDeclarativeEventAction;
143
+ source: PraxisChartSelectionEvent;
144
+ }
126
145
  interface PraxisChartQueryRequestEvent {
127
146
  chartId?: string;
128
147
  dataSource: Extract<PraxisChartDataSource, {
@@ -131,9 +150,11 @@ interface PraxisChartQueryRequestEvent {
131
150
  query?: PraxisChartQueryConfig;
132
151
  queryContext?: PraxisChartQueryContext | null;
133
152
  }
153
+ type PraxisChartRemoteDataResolverResult = PraxisChartDataRow[] | Promise<PraxisChartDataRow[]> | Observable<PraxisChartDataRow[]> | null | undefined;
154
+ type PraxisChartRemoteDataResolver = (event: PraxisChartQueryRequestEvent, config: PraxisChartConfig) => PraxisChartRemoteDataResolverResult;
134
155
 
135
156
  type PraxisChartType = 'bar' | 'combo' | 'horizontal-bar' | 'line' | 'pie' | 'donut' | 'area' | 'stacked-bar' | 'stacked-area' | 'scatter';
136
- type PraxisChartAggregation = 'sum' | 'count' | 'avg' | 'min' | 'max';
157
+ type PraxisChartAggregation = 'sum' | 'count' | 'distinct-count' | 'avg' | 'min' | 'max';
137
158
  interface PraxisChartMetricConfig {
138
159
  field?: string;
139
160
  aggregation?: PraxisChartAggregation;
@@ -287,7 +308,7 @@ interface PraxisXUiChartAggregationConfig {
287
308
  as?: string;
288
309
  }
289
310
  interface PraxisXUiChartStatsSourceOptions {
290
- granularity?: 'hour' | 'day' | 'week' | 'month' | 'quarter' | 'year';
311
+ granularity?: 'day' | 'week' | 'month';
291
312
  fillGaps?: boolean;
292
313
  mode?: PraxisXUiChartStatsDistributionMode;
293
314
  bucketSize?: number;
@@ -424,11 +445,14 @@ declare class PraxisChartComponent {
424
445
  readonly chartDocument: _angular_core.InputSignal<PraxisXUiChartContract | null>;
425
446
  readonly filterCriteria: _angular_core.InputSignal<Record<string, unknown> | null>;
426
447
  readonly queryContext: _angular_core.InputSignal<PraxisDataQueryContextBridge | null>;
448
+ readonly remoteDataResolver: _angular_core.InputSignal<PraxisChartRemoteDataResolver | null>;
427
449
  readonly enableCustomization: _angular_core.InputSignalWithTransform<boolean, unknown>;
428
450
  readonly availableResources: _angular_core.InputSignal<readonly ChartEditorResourceOption[]>;
429
451
  readonly availableFields: _angular_core.InputSignal<readonly ChartEditorFieldOption[]>;
430
452
  readonly availableTargets: _angular_core.InputSignal<readonly ChartEditorTargetOption[]>;
431
453
  readonly pointClick: _angular_core.OutputEmitterRef<PraxisChartPointEvent>;
454
+ readonly selectionChange: _angular_core.OutputEmitterRef<PraxisChartSelectionEvent>;
455
+ readonly crossFilter: _angular_core.OutputEmitterRef<PraxisChartCrossFilterEvent>;
432
456
  readonly queryRequest: _angular_core.OutputEmitterRef<PraxisChartQueryRequestEvent>;
433
457
  readonly loadStateChange: _angular_core.OutputEmitterRef<PraxisChartLoadState>;
434
458
  readonly chartDocumentApplied: _angular_core.OutputEmitterRef<PraxisXUiChartContract>;
@@ -440,6 +464,7 @@ declare class PraxisChartComponent {
440
464
  private readonly canonicalMapper;
441
465
  private readonly statsApi;
442
466
  private readonly i18n;
467
+ private readonly ngZone;
443
468
  private readonly settingsPanel;
444
469
  private readonly destroyRef;
445
470
  private readonly resizeObserver;
@@ -452,8 +477,12 @@ declare class PraxisChartComponent {
452
477
  private readonly mappedRuntimeConfig;
453
478
  private readonly chartDocumentMappingError;
454
479
  private readonly fillContainerHeight;
480
+ private readonly renderAttempt;
455
481
  private resizeFrameId;
482
+ private renderFrameId;
483
+ private deferredRenderAttempts;
456
484
  private previousRemoteSignature;
485
+ private previousRemoteDataResolver;
457
486
  private previousDocumentSignature;
458
487
  private editorSessionSubscriptions;
459
488
  readonly effectiveConfig: _angular_core.Signal<PraxisChartConfig>;
@@ -479,17 +508,27 @@ declare class PraxisChartComponent {
479
508
  constructor();
480
509
  canOpenConfigEditor(): boolean;
481
510
  openConfigEditor(): Promise<void>;
511
+ private handlePointClick;
512
+ private buildSelectionEvent;
513
+ private buildEventFilters;
514
+ private extractPointSourceValues;
515
+ private extractPointMetricValue;
516
+ private executeRemoteDataRequest;
482
517
  private ensureResizeObserver;
518
+ private hasRenderableSize;
483
519
  private toCssSize;
484
520
  private toCssAspectRatio;
485
521
  private buildRemoteSignature;
486
522
  private clearEditorSessionSubscriptions;
487
523
  private observeShellSizingContext;
524
+ private shouldFillShellContainer;
488
525
  private scheduleResizeAfterShellModeChange;
489
526
  private scheduleEngineResize;
527
+ private scheduleChartRender;
528
+ private cancelScheduledRender;
490
529
  private cancelScheduledResize;
491
530
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisChartComponent, never>;
492
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<PraxisChartComponent, "praxis-chart", never, { "config": { "alias": "config"; "required": true; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "chartDocument": { "alias": "chartDocument"; "required": false; "isSignal": true; }; "filterCriteria": { "alias": "filterCriteria"; "required": false; "isSignal": true; }; "queryContext": { "alias": "queryContext"; "required": false; "isSignal": true; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; "isSignal": true; }; "availableResources": { "alias": "availableResources"; "required": false; "isSignal": true; }; "availableFields": { "alias": "availableFields"; "required": false; "isSignal": true; }; "availableTargets": { "alias": "availableTargets"; "required": false; "isSignal": true; }; }, { "pointClick": "pointClick"; "queryRequest": "queryRequest"; "loadStateChange": "loadStateChange"; "chartDocumentApplied": "chartDocumentApplied"; "chartDocumentSaved": "chartDocumentSaved"; }, never, never, true, never>;
531
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PraxisChartComponent, "praxis-chart", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "chartDocument": { "alias": "chartDocument"; "required": false; "isSignal": true; }; "filterCriteria": { "alias": "filterCriteria"; "required": false; "isSignal": true; }; "queryContext": { "alias": "queryContext"; "required": false; "isSignal": true; }; "remoteDataResolver": { "alias": "remoteDataResolver"; "required": false; "isSignal": true; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; "isSignal": true; }; "availableResources": { "alias": "availableResources"; "required": false; "isSignal": true; }; "availableFields": { "alias": "availableFields"; "required": false; "isSignal": true; }; "availableTargets": { "alias": "availableTargets"; "required": false; "isSignal": true; }; }, { "pointClick": "pointClick"; "selectionChange": "selectionChange"; "crossFilter": "crossFilter"; "queryRequest": "queryRequest"; "loadStateChange": "loadStateChange"; "chartDocumentApplied": "chartDocumentApplied"; "chartDocumentSaved": "chartDocumentSaved"; }, never, never, true, never>;
493
532
  }
494
533
 
495
534
  declare class PraxisChartDrilldownPanelComponent {
@@ -670,6 +709,9 @@ declare class PraxisChartCanonicalContractMapperService {
670
709
  private buildQuery;
671
710
  private buildInteractions;
672
711
  private buildTheme;
712
+ private resolveSurfaceTheme;
713
+ private resolveThemeTextColor;
714
+ private isDarkHexColor;
673
715
  private resolveThemePalette;
674
716
  private buildMotion;
675
717
  private resolveOrientation;
@@ -704,13 +746,14 @@ interface PraxisChartCartesianSeries {
704
746
  area?: boolean;
705
747
  color?: string;
706
748
  labelsVisible?: boolean;
707
- points: Array<number | null | [number | string, number | null]>;
749
+ points: Array<number | null | [number | string, number | null] | Record<string, unknown>>;
708
750
  }
709
751
  interface PraxisChartPieSlice {
710
752
  id: string;
711
753
  name: string;
712
754
  value: number;
713
755
  color?: string;
756
+ data?: Record<string, unknown>;
714
757
  }
715
758
  interface PraxisChartTransformedData {
716
759
  mode: 'cartesian' | 'pie' | 'scatter';
@@ -724,6 +767,8 @@ declare class PraxisChartDataTransformerService {
724
767
  private transformCartesian;
725
768
  private transformPie;
726
769
  private buildCartesianSeries;
770
+ private buildPointData;
771
+ private hasPointValue;
727
772
  private resolveCartesianSeriesType;
728
773
  private isAreaLikeSeries;
729
774
  private transformScatter;
@@ -740,11 +785,23 @@ declare class PraxisChartOptionBuilderService {
740
785
  constructor(transformer: PraxisChartDataTransformerService);
741
786
  build(config: PraxisChartConfig, rows: PraxisChartDataRow[]): EChartsCoreOption;
742
787
  private resolveText;
788
+ private resolveTextColor;
743
789
  private hasText;
744
790
  private buildTitle;
745
791
  private buildLegend;
746
792
  private buildGrid;
747
793
  private buildCartesianYAxis;
794
+ private primaryValueFormat;
795
+ private seriesLabelFormat;
796
+ private axisLabelFormatter;
797
+ private formatValue;
798
+ private formatDateValue;
799
+ private isDateFormat;
800
+ private readDateParts;
801
+ private parseCurrencyFormat;
802
+ private normalizeCurrencyDisplay;
803
+ private parseNumberFormat;
804
+ private clampDecimals;
748
805
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisChartOptionBuilderService, never>;
749
806
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<PraxisChartOptionBuilderService>;
750
807
  }
@@ -793,10 +850,15 @@ declare class PraxisChartBackendPayloadAdapterService {
793
850
  declare class PraxisChartStatsApiService {
794
851
  private readonly http;
795
852
  private readonly apiUrl;
796
- constructor(http: HttpClient, apiUrl: ApiUrlConfig);
853
+ private readonly i18n;
854
+ constructor(http: HttpClient, apiUrl: ApiUrlConfig, i18n: PraxisI18nService);
797
855
  execute(event: PraxisChartQueryRequestEvent, config: PraxisChartConfig): Observable<PraxisChartDataRow[]>;
798
856
  private toChartRows;
799
857
  private resolveBucketCategory;
858
+ private resolveBooleanBucketCategory;
859
+ private readBooleanBucketValue;
860
+ private normalizeBooleanText;
861
+ private resolveCategoryAxisLabel;
800
862
  private resolveMetricValue;
801
863
  private resolveCategoryField;
802
864
  private resolveMetricBindings;
@@ -1005,19 +1067,6 @@ declare class PraxisChartCompositionShowcaseComponent {
1005
1067
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<PraxisChartCompositionShowcaseComponent, "praxis-chart-composition-showcase", never, { "enableCustomization": { "alias": "enableCustomization"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1006
1068
  }
1007
1069
 
1008
- interface ChartEditorPreviewPayload {
1009
- config: PraxisChartConfig;
1010
- data: PraxisChartDataRow[];
1011
- }
1012
- declare class ChartEditorPreviewMapperService {
1013
- private readonly mapper;
1014
- constructor(mapper: PraxisChartCanonicalContractMapperService);
1015
- build(document: PraxisXUiChartContract): ChartEditorPreviewPayload;
1016
- private buildRows;
1017
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartEditorPreviewMapperService, never>;
1018
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<ChartEditorPreviewMapperService>;
1019
- }
1020
-
1021
1070
  interface ChartConfigEditorApplyEvent {
1022
1071
  document: PraxisXUiChartContract;
1023
1072
  issues: ChartContractValidationIssue[];
@@ -1035,7 +1084,7 @@ interface ChartConfigEditorResetEvent {
1035
1084
  type ChartEditorSection = 'general' | 'data' | 'analytics' | 'appearance' | 'motion' | 'events' | 'preview';
1036
1085
  type ChartFeatureKey = 'legend' | 'labels' | 'tooltip';
1037
1086
  type ChartStateKey = 'empty' | 'loading' | 'error';
1038
- type ChartEventKey = 'pointClick' | 'drillDown';
1087
+ type ChartEventKey = 'pointClick' | 'selectionChange' | 'drillDown' | 'crossFilter';
1039
1088
  declare class PraxisChartConfigEditor implements SettingsValueProvider {
1040
1089
  readonly documentInput: _angular_core.InputSignal<PraxisXUiChartContract | null>;
1041
1090
  readonly modeInput: _angular_core.InputSignal<"create" | "edit">;
@@ -1058,7 +1107,7 @@ declare class PraxisChartConfigEditor implements SettingsValueProvider {
1058
1107
  readonly chartKinds: PraxisXUiChartKind[];
1059
1108
  readonly sourceKinds: readonly ["praxis.stats", "derived"];
1060
1109
  readonly operations: PraxisXUiChartStatsOperation[];
1061
- readonly timeGranularities: readonly ["hour", "day", "week", "month", "quarter", "year"];
1110
+ readonly timeGranularities: readonly ["day", "week", "month"];
1062
1111
  readonly distributionModes: PraxisXUiChartStatsDistributionMode[];
1063
1112
  readonly dimensionRoles: NonNullable<PraxisXUiChartDimension['role']>[];
1064
1113
  readonly metricAggregations: PraxisXUiChartAggregation[];
@@ -1082,12 +1131,12 @@ declare class PraxisChartConfigEditor implements SettingsValueProvider {
1082
1131
  private readonly initialDocument;
1083
1132
  private lastExternalSignature;
1084
1133
  readonly normalizedDocument: _angular_core.Signal<PraxisXUiChartContract>;
1085
- readonly validation: _angular_core.Signal<ChartContractValidationResult>;
1134
+ readonly validation: _angular_core.Signal<_praxisui_charts.ChartContractValidationResult>;
1086
1135
  readonly issues: _angular_core.Signal<ChartContractValidationIssue[]>;
1087
1136
  readonly availableResources: _angular_core.Signal<ChartEditorResourceOption[]>;
1088
1137
  readonly availableFields: _angular_core.Signal<ChartEditorFieldOption[]>;
1089
1138
  readonly availableTargets: _angular_core.Signal<ChartEditorTargetOption[]>;
1090
- readonly preview: _angular_core.Signal<ChartEditorPreviewPayload | null>;
1139
+ readonly preview: _angular_core.Signal<_praxisui_charts.ChartEditorPreviewPayload | null>;
1091
1140
  constructor();
1092
1141
  getSettingsValue(): PraxisXUiChartContract;
1093
1142
  onSave(): PraxisXUiChartContract;
@@ -1190,6 +1239,48 @@ declare class PraxisChartConfigEditor implements SettingsValueProvider {
1190
1239
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<PraxisChartConfigEditor, "praxis-chart-config-editor", never, { "documentInput": { "alias": "document"; "required": false; "isSignal": true; }; "modeInput": { "alias": "mode"; "required": false; "isSignal": true; }; "readonlyInput": { "alias": "readonly"; "required": false; "isSignal": true; }; "availableResourcesInput": { "alias": "availableResources"; "required": false; "isSignal": true; }; "availableFieldsInput": { "alias": "availableFields"; "required": false; "isSignal": true; }; "availableTargetsInput": { "alias": "availableTargets"; "required": false; "isSignal": true; }; }, { "apply": "apply"; "save": "save"; "resetChange": "resetChange"; "documentChange": "documentChange"; }, never, never, true, never>;
1191
1240
  }
1192
1241
 
1242
+ interface PraxisChartWidgetEditorInputs {
1243
+ chartDocument?: PraxisXUiChartContract | null;
1244
+ queryContext?: PraxisChartQueryContext | null;
1245
+ availableResources?: ChartEditorResourceOption[];
1246
+ availableFields?: ChartEditorFieldOption[];
1247
+ availableTargets?: ChartEditorTargetOption[];
1248
+ [key: string]: unknown;
1249
+ }
1250
+ interface PraxisChartWidgetEditorValue {
1251
+ inputs: PraxisChartWidgetEditorInputs;
1252
+ }
1253
+ declare class PraxisChartWidgetConfigEditor implements SettingsValueProvider, AfterViewInit, OnChanges, OnDestroy {
1254
+ inputs: PraxisChartWidgetEditorInputs | null;
1255
+ chartEditor?: PraxisChartConfigEditor;
1256
+ readonly isDirty$: BehaviorSubject<boolean>;
1257
+ readonly isValid$: BehaviorSubject<boolean>;
1258
+ readonly isBusy$: BehaviorSubject<boolean>;
1259
+ private readonly subscription;
1260
+ private chartEditorValid;
1261
+ private queryContextDirty;
1262
+ queryContextText: string;
1263
+ queryContextError: string;
1264
+ get chartDocument(): PraxisXUiChartContract | null;
1265
+ get availableResources(): ChartEditorResourceOption[];
1266
+ get availableFields(): ChartEditorFieldOption[];
1267
+ get availableTargets(): ChartEditorTargetOption[];
1268
+ ngAfterViewInit(): void;
1269
+ ngOnChanges(changes: SimpleChanges): void;
1270
+ ngOnDestroy(): void;
1271
+ setQueryContextText(value: string): void;
1272
+ getSettingsValue(): PraxisChartWidgetEditorValue;
1273
+ onSave(): PraxisChartWidgetEditorValue;
1274
+ reset(): void;
1275
+ private buildValue;
1276
+ private updateValidity;
1277
+ private formatQueryContext;
1278
+ private validateQueryContextText;
1279
+ private parseQueryContextText;
1280
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisChartWidgetConfigEditor, never>;
1281
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PraxisChartWidgetConfigEditor, "praxis-chart-widget-config-editor", never, { "inputs": { "alias": "inputs"; "required": false; }; }, {}, never, never, true, never>;
1282
+ }
1283
+
1193
1284
  interface PraxisChartConfigEditorData {
1194
1285
  chartDocument?: PraxisXUiChartContract;
1195
1286
  document?: PraxisXUiChartContract;
@@ -1208,6 +1299,19 @@ declare class ChartEditorDefaultsService {
1208
1299
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<ChartEditorDefaultsService>;
1209
1300
  }
1210
1301
 
1302
+ interface ChartEditorPreviewPayload {
1303
+ config: PraxisChartConfig;
1304
+ data: PraxisChartDataRow[];
1305
+ }
1306
+ declare class ChartEditorPreviewMapperService {
1307
+ private readonly mapper;
1308
+ constructor(mapper: PraxisChartCanonicalContractMapperService);
1309
+ build(document: PraxisXUiChartContract): ChartEditorPreviewPayload;
1310
+ private buildRows;
1311
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartEditorPreviewMapperService, never>;
1312
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ChartEditorPreviewMapperService>;
1313
+ }
1314
+
1211
1315
  type PraxisChartsText = PraxisTextValue;
1212
1316
  interface PraxisChartsI18nOptions {
1213
1317
  locale?: string;
@@ -1219,6 +1323,8 @@ declare function createPraxisChartsI18nConfig(options?: PraxisChartsI18nOptions)
1219
1323
  declare function providePraxisChartsI18n(options?: PraxisChartsI18nOptions): Provider[];
1220
1324
  declare function resolvePraxisChartsText(value: PraxisChartsText | null | undefined, fallback?: string): PraxisI18nMessageDescriptor;
1221
1325
 
1326
+ declare const PRAXIS_CHARTS_AUTHORING_MANIFEST: ComponentAuthoringManifest;
1327
+
1222
1328
  declare const PRAXIS_CHART_COMPONENT_METADATA: ComponentDocMeta;
1223
1329
  declare function providePraxisChartsMetadata(): Provider;
1224
1330
 
@@ -1228,5 +1334,5 @@ declare function providePraxisChartDrilldownPanelMetadata(): Provider;
1228
1334
  declare const PRAXIS_CHART_STATE_PROBE_COMPONENT_METADATA: ComponentDocMeta;
1229
1335
  declare function providePraxisChartStateProbeMetadata(): Provider;
1230
1336
 
1231
- export { AnalyticsChartConfigAdapterService, AnalyticsChartContractService, ChartContractNormalizerService, ChartContractValidationService, ChartEditorDefaultsService, ChartEditorPreviewMapperService, PRAXIS_CHARTS_I18N, PRAXIS_CHART_BACKEND_MOCK_BAR, PRAXIS_CHART_BACKEND_MOCK_COMBO, PRAXIS_CHART_BACKEND_MOCK_DONUT, PRAXIS_CHART_BACKEND_MOCK_HORIZONTAL_BAR, PRAXIS_CHART_BACKEND_MOCK_MULTI_METRIC_BAR, PRAXIS_CHART_BACKEND_MOCK_SCATTER, PRAXIS_CHART_BACKEND_MOCK_STACKED_AREA, PRAXIS_CHART_BACKEND_MOCK_TIMESERIES, PRAXIS_CHART_COMPONENT_METADATA, PRAXIS_CHART_DRILLDOWN_DATA_BY_MONTH, PRAXIS_CHART_DRILLDOWN_PANEL_METADATA, PRAXIS_CHART_ENGINE, PRAXIS_CHART_PALETTE_TOKENS, PRAXIS_CHART_STATE_PROBE_COMPONENT_METADATA, PRAXIS_CHART_THEME_VARIANTS, PraxisChartBackendPayloadAdapterService, PraxisChartCanonicalContractMapperService, PraxisChartComponent, PraxisChartCompositionShowcaseComponent, PraxisChartConfigEditor, PraxisChartDataTransformerService, PraxisChartDrilldownPanelComponent, PraxisChartOptionBuilderService, PraxisChartSchemaMapperService, PraxisChartStateProbeComponent, PraxisChartStatsApiService, buildPraxisChartInteractiveCanvasPage, buildPraxisChartInteractiveWidgetPage, buildPraxisChartMockCanvasPage, buildPraxisChartMockWidgetPage, createPraxisChartsI18nConfig, isPraxisChartPaletteToken, providePraxisChartDrilldownPanelMetadata, providePraxisChartStateProbeMetadata, providePraxisCharts, providePraxisChartsI18n, providePraxisChartsMetadata, resolvePraxisChartPaletteToken, resolvePraxisChartsText };
1232
- export type { AnalyticsChartConfigAdapterOptions, AnalyticsChartContractDefinition, AnalyticsChartContractLoadOptions, AnalyticsChartContractLoadResult, AnalyticsChartContractSource, ChartConfigEditorApplyEvent, ChartConfigEditorResetEvent, ChartConfigEditorSaveEvent, ChartContractIssueSeverity, ChartContractValidationIssue, ChartContractValidationResult, ChartEditorFieldOption, ChartEditorPreviewPayload, ChartEditorResourceOption, ChartEditorTargetOption, PraxisChartAggregation, PraxisChartAxisConfig, PraxisChartAxisLabelConfig, PraxisChartAxisPosition, PraxisChartAxisType, PraxisChartBackendPayload, PraxisChartBackendWidgetPayload, PraxisChartCanvasItem, PraxisChartCartesianSeries, PraxisChartConfig, PraxisChartConfigEditorData, PraxisChartDataRow, PraxisChartDataSource, PraxisChartDistributionStatsRequest, PraxisChartEmptyStateConfig, PraxisChartEngineAdapter, PraxisChartEngineRenderPayload, PraxisChartErrorStateConfig, PraxisChartGroupByStatsRequest, PraxisChartInteractionConfig, PraxisChartLegendConfig, PraxisChartLoadState, PraxisChartLocalDataSource, PraxisChartMetricConfig, PraxisChartMotionConfig, PraxisChartMotionPreset, PraxisChartPaletteToken, PraxisChartPieSlice, PraxisChartPointEvent, PraxisChartPrimitive, PraxisChartQueryConfig, PraxisChartQueryContext, PraxisChartQueryMetricConfig, PraxisChartQueryRequestEvent, PraxisChartRemoteDataSource, PraxisChartSchemaMeta, PraxisChartSeriesConfig, PraxisChartSeriesLabelConfig, PraxisChartSizingConfig, PraxisChartSizingMode, PraxisChartStateConfig, PraxisChartStatsDistributionMode, PraxisChartStatsGranularity, PraxisChartStatsMetricOperation, PraxisChartStatsMetricRequest, PraxisChartStatsOperation, PraxisChartStatsOrderBy, PraxisChartStatsRequest, PraxisChartSurfaceConfig, PraxisChartSurfaceMode, PraxisChartThemeConfig, PraxisChartThemeVariant, PraxisChartTimeSeriesStatsRequest, PraxisChartTooltipConfig, PraxisChartTransformedData, PraxisChartType, PraxisChartWidgetInstance, PraxisChartWidgetLike, PraxisChartWidgetResolution, PraxisChartWidgetSchema, PraxisChartsI18nOptions, PraxisChartsText, PraxisXUiChartAggregation, PraxisXUiChartAggregationConfig, PraxisXUiChartContract, PraxisXUiChartDimension, PraxisXUiChartEventAction, PraxisXUiChartEvents, PraxisXUiChartFilter, PraxisXUiChartKind, PraxisXUiChartMetric, PraxisXUiChartMotion, PraxisXUiChartMotionPreset, PraxisXUiChartPreset, PraxisXUiChartRefresh, PraxisXUiChartRuntimeHints, PraxisXUiChartSizing, PraxisXUiChartSizingMode, PraxisXUiChartSort, PraxisXUiChartSource, PraxisXUiChartSourceKind, PraxisXUiChartState, PraxisXUiChartStateDescriptor, PraxisXUiChartStatsDistributionMode, PraxisXUiChartStatsOperation, PraxisXUiChartStatsOrderBy, PraxisXUiChartStatsSourceOptions, PraxisXUiChartSurface, PraxisXUiChartSurfaceMode, PraxisXUiChartTextValue, PraxisXUiChartTheme, PraxisXUiChartToggleableFeature };
1337
+ export { AnalyticsChartConfigAdapterService, AnalyticsChartContractService, ChartContractNormalizerService, ChartContractValidationService, ChartEditorDefaultsService, ChartEditorPreviewMapperService, PRAXIS_CHARTS_AUTHORING_MANIFEST, PRAXIS_CHARTS_I18N, PRAXIS_CHART_BACKEND_MOCK_BAR, PRAXIS_CHART_BACKEND_MOCK_COMBO, PRAXIS_CHART_BACKEND_MOCK_DONUT, PRAXIS_CHART_BACKEND_MOCK_HORIZONTAL_BAR, PRAXIS_CHART_BACKEND_MOCK_MULTI_METRIC_BAR, PRAXIS_CHART_BACKEND_MOCK_SCATTER, PRAXIS_CHART_BACKEND_MOCK_STACKED_AREA, PRAXIS_CHART_BACKEND_MOCK_TIMESERIES, PRAXIS_CHART_COMPONENT_METADATA, PRAXIS_CHART_DRILLDOWN_DATA_BY_MONTH, PRAXIS_CHART_DRILLDOWN_PANEL_METADATA, PRAXIS_CHART_ENGINE, PRAXIS_CHART_PALETTE_TOKENS, PRAXIS_CHART_STATE_PROBE_COMPONENT_METADATA, PRAXIS_CHART_THEME_VARIANTS, PraxisChartBackendPayloadAdapterService, PraxisChartCanonicalContractMapperService, PraxisChartComponent, PraxisChartCompositionShowcaseComponent, PraxisChartConfigEditor, PraxisChartDataTransformerService, PraxisChartDrilldownPanelComponent, PraxisChartOptionBuilderService, PraxisChartSchemaMapperService, PraxisChartStateProbeComponent, PraxisChartStatsApiService, PraxisChartWidgetConfigEditor, buildPraxisChartInteractiveCanvasPage, buildPraxisChartInteractiveWidgetPage, buildPraxisChartMockCanvasPage, buildPraxisChartMockWidgetPage, createPraxisChartsI18nConfig, isPraxisChartPaletteToken, providePraxisChartDrilldownPanelMetadata, providePraxisChartStateProbeMetadata, providePraxisCharts, providePraxisChartsI18n, providePraxisChartsMetadata, resolvePraxisChartPaletteToken, resolvePraxisChartsText };
1338
+ export type { AnalyticsChartConfigAdapterOptions, AnalyticsChartContractDefinition, AnalyticsChartContractLoadOptions, AnalyticsChartContractLoadResult, AnalyticsChartContractSource, ChartConfigEditorApplyEvent, ChartConfigEditorResetEvent, ChartConfigEditorSaveEvent, ChartContractIssueSeverity, ChartContractValidationIssue, ChartContractValidationResult, ChartEditorFieldOption, ChartEditorPreviewPayload, ChartEditorResourceOption, ChartEditorTargetOption, PraxisChartAggregation, PraxisChartAxisConfig, PraxisChartAxisLabelConfig, PraxisChartAxisPosition, PraxisChartAxisType, PraxisChartBackendPayload, PraxisChartBackendWidgetPayload, PraxisChartCanvasItem, PraxisChartCartesianSeries, PraxisChartConfig, PraxisChartConfigEditorData, PraxisChartCrossFilterEvent, PraxisChartDataRow, PraxisChartDataSource, PraxisChartDeclarativeEventAction, PraxisChartDistributionStatsRequest, PraxisChartEmptyStateConfig, PraxisChartEngineAdapter, PraxisChartEngineRenderPayload, PraxisChartErrorStateConfig, PraxisChartGroupByStatsRequest, PraxisChartInteractionConfig, PraxisChartLegendConfig, PraxisChartLoadState, PraxisChartLocalDataSource, PraxisChartMetricConfig, PraxisChartMotionConfig, PraxisChartMotionPreset, PraxisChartPaletteToken, PraxisChartPieSlice, PraxisChartPointEvent, PraxisChartPrimitive, PraxisChartQueryConfig, PraxisChartQueryContext, PraxisChartQueryMetricConfig, PraxisChartQueryRequestEvent, PraxisChartRemoteDataResolver, PraxisChartRemoteDataResolverResult, PraxisChartRemoteDataSource, PraxisChartSchemaMeta, PraxisChartSelectionEvent, PraxisChartSeriesConfig, PraxisChartSeriesLabelConfig, PraxisChartSizingConfig, PraxisChartSizingMode, PraxisChartStateConfig, PraxisChartStatsDistributionMode, PraxisChartStatsGranularity, PraxisChartStatsMetricOperation, PraxisChartStatsMetricRequest, PraxisChartStatsOperation, PraxisChartStatsOrderBy, PraxisChartStatsRequest, PraxisChartSurfaceConfig, PraxisChartSurfaceMode, PraxisChartThemeConfig, PraxisChartThemeVariant, PraxisChartTimeSeriesStatsRequest, PraxisChartTooltipConfig, PraxisChartTransformedData, PraxisChartType, PraxisChartWidgetEditorInputs, PraxisChartWidgetEditorValue, PraxisChartWidgetInstance, PraxisChartWidgetLike, PraxisChartWidgetResolution, PraxisChartWidgetSchema, PraxisChartsI18nOptions, PraxisChartsText, PraxisXUiChartAggregation, PraxisXUiChartAggregationConfig, PraxisXUiChartContract, PraxisXUiChartDimension, PraxisXUiChartEventAction, PraxisXUiChartEvents, PraxisXUiChartFilter, PraxisXUiChartKind, PraxisXUiChartMetric, PraxisXUiChartMotion, PraxisXUiChartMotionPreset, PraxisXUiChartPreset, PraxisXUiChartRefresh, PraxisXUiChartRuntimeHints, PraxisXUiChartSizing, PraxisXUiChartSizingMode, PraxisXUiChartSort, PraxisXUiChartSource, PraxisXUiChartSourceKind, PraxisXUiChartState, PraxisXUiChartStateDescriptor, PraxisXUiChartStatsDistributionMode, PraxisXUiChartStatsOperation, PraxisXUiChartStatsOrderBy, PraxisXUiChartStatsSourceOptions, PraxisXUiChartSurface, PraxisXUiChartSurfaceMode, PraxisXUiChartTextValue, PraxisXUiChartTheme, PraxisXUiChartToggleableFeature };