@praxisui/charts 1.0.0-beta.68

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/index.d.ts ADDED
@@ -0,0 +1,639 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { InjectionToken, Provider } from '@angular/core';
3
+ import * as _praxisui_core from '@praxisui/core';
4
+ import { PraxisTextValue, WidgetDefinition, WidgetShellConfig, GridItemLayout, WidgetInstance, GridWidgetInstance, ComponentMetadataRegistry, ApiUrlConfig, WidgetPageDefinition, GridPageDefinition, ComponentDocMeta } from '@praxisui/core';
5
+ import * as _praxisui_charts from '@praxisui/charts';
6
+ import { EChartsCoreOption } from 'echarts';
7
+ import { HttpClient } from '@angular/common/http';
8
+ import { Observable } from 'rxjs';
9
+
10
+ type PraxisChartAxisType = 'category' | 'value' | 'time';
11
+ type PraxisChartAxisPosition = 'top' | 'bottom' | 'left' | 'right';
12
+ interface PraxisChartAxisLabelConfig {
13
+ visible?: boolean;
14
+ rotate?: number;
15
+ format?: string;
16
+ }
17
+ interface PraxisChartAxisConfig {
18
+ field?: string;
19
+ label?: string;
20
+ type?: PraxisChartAxisType;
21
+ position?: PraxisChartAxisPosition;
22
+ min?: number;
23
+ max?: number;
24
+ labels?: PraxisChartAxisLabelConfig;
25
+ }
26
+
27
+ type PraxisChartPrimitive = string | number | boolean | Date | null | undefined;
28
+ type PraxisChartDataRow = Record<string, PraxisChartPrimitive>;
29
+ interface PraxisChartQueryMetricConfig {
30
+ field?: string;
31
+ aggregation?: 'sum' | 'count' | 'avg' | 'min' | 'max';
32
+ alias?: string;
33
+ }
34
+ type PraxisChartStatsOperation = 'group-by' | 'timeseries' | 'distribution';
35
+ type PraxisChartStatsDistributionMode = 'terms' | 'histogram';
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';
39
+ interface PraxisChartStatsMetricRequest {
40
+ operation: PraxisChartStatsMetricOperation;
41
+ field?: string;
42
+ }
43
+ interface PraxisChartGroupByStatsRequest {
44
+ filter: Record<string, unknown>;
45
+ field: string;
46
+ metric: PraxisChartStatsMetricRequest;
47
+ limit?: number;
48
+ orderBy?: 'KEY_ASC' | 'KEY_DESC' | 'VALUE_ASC' | 'VALUE_DESC';
49
+ }
50
+ interface PraxisChartTimeSeriesStatsRequest {
51
+ filter: Record<string, unknown>;
52
+ field: string;
53
+ granularity: Uppercase<PraxisChartStatsGranularity>;
54
+ metric: PraxisChartStatsMetricRequest;
55
+ from?: string;
56
+ to?: string;
57
+ fillGaps?: boolean;
58
+ }
59
+ interface PraxisChartDistributionStatsRequest {
60
+ filter: Record<string, unknown>;
61
+ field: string;
62
+ mode: 'TERMS' | 'HISTOGRAM';
63
+ metric: PraxisChartStatsMetricRequest;
64
+ bucketSize?: number;
65
+ bucketCount?: number;
66
+ limit?: number;
67
+ orderBy?: 'KEY_ASC' | 'KEY_DESC' | 'VALUE_ASC' | 'VALUE_DESC';
68
+ }
69
+ type PraxisChartStatsRequest = PraxisChartGroupByStatsRequest | PraxisChartTimeSeriesStatsRequest | PraxisChartDistributionStatsRequest;
70
+ interface PraxisChartQueryConfig {
71
+ sourceKind?: 'praxis.stats';
72
+ statsOperation?: PraxisChartStatsOperation;
73
+ granularity?: PraxisChartStatsGranularity;
74
+ fillGaps?: boolean;
75
+ distributionMode?: PraxisChartStatsDistributionMode;
76
+ bucketSize?: number;
77
+ bucketCount?: number;
78
+ statsOrderBy?: PraxisChartStatsOrderBy;
79
+ statsPath?: string;
80
+ statsRequest?: PraxisChartStatsRequest;
81
+ dimensions?: string[];
82
+ metrics?: PraxisChartQueryMetricConfig[];
83
+ filters?: Record<string, unknown>;
84
+ sort?: string[];
85
+ limit?: number;
86
+ }
87
+ interface PraxisChartLocalDataSource {
88
+ kind: 'local';
89
+ items?: PraxisChartDataRow[];
90
+ }
91
+ interface PraxisChartRemoteDataSource {
92
+ kind: 'remote';
93
+ resourcePath: string;
94
+ schemaId?: string;
95
+ query?: PraxisChartQueryConfig;
96
+ }
97
+ type PraxisChartDataSource = PraxisChartLocalDataSource | PraxisChartRemoteDataSource;
98
+
99
+ type PraxisChartLoadState = 'idle' | 'loading' | 'ready' | 'empty' | 'error';
100
+ interface PraxisChartInteractionConfig {
101
+ pointClick?: boolean;
102
+ selection?: boolean;
103
+ drillDown?: boolean;
104
+ }
105
+ interface PraxisChartPointEvent {
106
+ chartId?: string;
107
+ seriesId?: string;
108
+ seriesName?: string;
109
+ category?: string;
110
+ value?: unknown;
111
+ data?: unknown;
112
+ }
113
+ interface PraxisChartQueryRequestEvent {
114
+ chartId?: string;
115
+ dataSource: Extract<PraxisChartDataSource, {
116
+ kind: 'remote';
117
+ }>;
118
+ query?: PraxisChartQueryConfig;
119
+ }
120
+
121
+ type PraxisChartType = 'bar' | 'line' | 'pie' | 'donut' | 'area' | 'stacked-bar';
122
+ type PraxisChartAggregation = 'sum' | 'count' | 'avg' | 'min' | 'max';
123
+ interface PraxisChartMetricConfig {
124
+ field?: string;
125
+ aggregation?: PraxisChartAggregation;
126
+ label?: string;
127
+ }
128
+ interface PraxisChartSeriesLabelConfig {
129
+ visible?: boolean;
130
+ format?: string;
131
+ }
132
+ interface PraxisChartSeriesConfig {
133
+ id: string;
134
+ name?: string;
135
+ type?: PraxisChartType;
136
+ categoryField?: string;
137
+ metric?: PraxisChartMetricConfig;
138
+ color?: string;
139
+ smooth?: boolean;
140
+ stackId?: string;
141
+ labels?: PraxisChartSeriesLabelConfig;
142
+ }
143
+
144
+ interface PraxisChartLegendConfig {
145
+ visible?: boolean;
146
+ position?: 'top' | 'bottom' | 'left' | 'right';
147
+ }
148
+ interface PraxisChartTooltipConfig {
149
+ enabled?: boolean;
150
+ trigger?: 'item' | 'axis';
151
+ }
152
+ interface PraxisChartThemeConfig {
153
+ palette?: string[];
154
+ backgroundColor?: string;
155
+ textColor?: string;
156
+ borderRadius?: number;
157
+ legend?: PraxisChartLegendConfig;
158
+ tooltip?: PraxisChartTooltipConfig;
159
+ }
160
+
161
+ interface PraxisChartEmptyStateConfig {
162
+ title?: PraxisTextValue;
163
+ description?: PraxisTextValue;
164
+ icon?: string;
165
+ }
166
+ interface PraxisChartErrorStateConfig {
167
+ title?: PraxisTextValue;
168
+ description?: PraxisTextValue;
169
+ technicalDetails?: string;
170
+ }
171
+ interface PraxisChartStateConfig {
172
+ loading?: boolean;
173
+ loadingLabel?: PraxisTextValue;
174
+ error?: PraxisChartErrorStateConfig | null;
175
+ }
176
+ interface PraxisChartConfig {
177
+ id?: string;
178
+ type: PraxisChartType;
179
+ title?: PraxisTextValue;
180
+ subtitle?: PraxisTextValue;
181
+ height?: number | string;
182
+ axes?: {
183
+ x?: PraxisChartAxisConfig;
184
+ y?: PraxisChartAxisConfig;
185
+ };
186
+ series: PraxisChartSeriesConfig[];
187
+ dataSource?: PraxisChartDataSource;
188
+ interactions?: PraxisChartInteractionConfig;
189
+ theme?: PraxisChartThemeConfig;
190
+ emptyState?: PraxisChartEmptyStateConfig;
191
+ state?: PraxisChartStateConfig;
192
+ preferredLoadState?: Extract<PraxisChartLoadState, 'idle' | 'loading' | 'ready' | 'empty' | 'error'>;
193
+ }
194
+
195
+ declare class PraxisChartComponent {
196
+ readonly config: _angular_core.InputSignal<PraxisChartConfig>;
197
+ readonly data: _angular_core.InputSignal<PraxisChartDataRow[] | null>;
198
+ readonly pointClick: _angular_core.OutputEmitterRef<PraxisChartPointEvent>;
199
+ readonly queryRequest: _angular_core.OutputEmitterRef<PraxisChartQueryRequestEvent>;
200
+ readonly loadStateChange: _angular_core.OutputEmitterRef<PraxisChartLoadState>;
201
+ private readonly chartHost;
202
+ private readonly engine;
203
+ private readonly transformer;
204
+ private readonly statsApi;
205
+ private readonly i18n;
206
+ private readonly destroyRef;
207
+ private readonly resizeObserver;
208
+ private readonly currentLoadState;
209
+ private readonly remoteResolvedData;
210
+ private readonly remoteRuntimeState;
211
+ private readonly remoteTechnicalError;
212
+ private previousRemoteSignature;
213
+ readonly resolvedData: _angular_core.Signal<PraxisChartDataRow[]>;
214
+ readonly resolvedHeight: _angular_core.Signal<string>;
215
+ readonly renderConfig: _angular_core.Signal<PraxisChartConfig>;
216
+ readonly loadingLabel: _angular_core.Signal<string>;
217
+ readonly emptyTitle: _angular_core.Signal<string>;
218
+ readonly emptyDescription: _angular_core.Signal<string>;
219
+ readonly errorTitle: _angular_core.Signal<string>;
220
+ readonly errorDescription: _angular_core.Signal<string>;
221
+ readonly loadState: _angular_core.Signal<PraxisChartLoadState>;
222
+ constructor();
223
+ private ensureResizeObserver;
224
+ private buildRemoteSignature;
225
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisChartComponent, never>;
226
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PraxisChartComponent, "praxis-chart", never, { "config": { "alias": "config"; "required": true; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; }, { "pointClick": "pointClick"; "queryRequest": "queryRequest"; "loadStateChange": "loadStateChange"; }, never, never, true, never>;
227
+ }
228
+
229
+ declare class PraxisChartDrilldownPanelComponent {
230
+ readonly title: _angular_core.InputSignal<string>;
231
+ readonly selection: _angular_core.InputSignal<PraxisChartPointEvent | null>;
232
+ readonly activeCategory: _angular_core.Signal<string | null>;
233
+ readonly detailData: _angular_core.Signal<_praxisui_charts.PraxisChartDataRow[]>;
234
+ readonly detailChartConfig: _angular_core.Signal<{
235
+ id: string;
236
+ type: "donut";
237
+ title: {
238
+ text: string;
239
+ };
240
+ subtitle: {
241
+ text: string;
242
+ };
243
+ height: number;
244
+ series: {
245
+ id: string;
246
+ categoryField: string;
247
+ metric: {
248
+ field: string;
249
+ aggregation: "sum";
250
+ };
251
+ labels: {
252
+ visible: boolean;
253
+ };
254
+ }[];
255
+ emptyState: {
256
+ title: {
257
+ text: string;
258
+ };
259
+ description: {
260
+ text: string;
261
+ };
262
+ };
263
+ theme: {
264
+ palette: string[];
265
+ };
266
+ }>;
267
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisChartDrilldownPanelComponent, never>;
268
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PraxisChartDrilldownPanelComponent, "praxis-chart-drilldown-panel", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "selection": { "alias": "selection"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
269
+ }
270
+
271
+ declare class PraxisChartStateProbeComponent {
272
+ readonly title: _angular_core.InputSignal<string>;
273
+ readonly value: _angular_core.InputSignal<unknown>;
274
+ readonly serializedValue: _angular_core.Signal<string>;
275
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisChartStateProbeComponent, never>;
276
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PraxisChartStateProbeComponent, "praxis-chart-state-probe", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
277
+ }
278
+
279
+ type PraxisXUiChartKind = 'bar' | 'line' | 'pie' | 'donut' | 'area' | 'stacked-bar';
280
+ type PraxisXUiChartPreset = 'kpi-trend' | 'comparison' | 'distribution' | 'ranking' | 'composition' | 'hierarchical-drill-down';
281
+ type PraxisXUiChartTextValue = string | {
282
+ key: string;
283
+ fallback?: string;
284
+ };
285
+ type PraxisXUiChartSourceKind = 'praxis.stats' | 'derived';
286
+ type PraxisXUiChartStatsOperation = 'group-by' | 'timeseries' | 'distribution';
287
+ type PraxisXUiChartStatsDistributionMode = 'terms' | 'histogram';
288
+ type PraxisXUiChartStatsOrderBy = 'key-asc' | 'key-desc' | 'value-asc' | 'value-desc';
289
+ type PraxisXUiChartAggregation = 'sum' | 'avg' | 'min' | 'max' | 'count' | 'distinct-count';
290
+ interface PraxisXUiChartFilter {
291
+ field: string;
292
+ operator: 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte' | 'between' | 'in' | 'contains';
293
+ value?: unknown;
294
+ values?: unknown[];
295
+ }
296
+ interface PraxisXUiChartSort {
297
+ field: string;
298
+ direction: 'asc' | 'desc';
299
+ }
300
+ interface PraxisXUiChartDimension {
301
+ field: string;
302
+ label?: PraxisXUiChartTextValue;
303
+ role?: 'category' | 'series' | 'segment' | 'time';
304
+ format?: string;
305
+ }
306
+ interface PraxisXUiChartMetric {
307
+ field: string;
308
+ label?: PraxisXUiChartTextValue;
309
+ aggregation?: PraxisXUiChartAggregation;
310
+ format?: string;
311
+ }
312
+ interface PraxisXUiChartAggregationConfig {
313
+ field: string;
314
+ operation: PraxisXUiChartAggregation;
315
+ as?: string;
316
+ }
317
+ interface PraxisXUiChartStatsSourceOptions {
318
+ granularity?: 'hour' | 'day' | 'week' | 'month' | 'quarter' | 'year';
319
+ fillGaps?: boolean;
320
+ mode?: PraxisXUiChartStatsDistributionMode;
321
+ bucketSize?: number;
322
+ bucketCount?: number;
323
+ orderBy?: PraxisXUiChartStatsOrderBy;
324
+ limit?: number;
325
+ }
326
+ interface PraxisXUiChartRefresh {
327
+ strategy?: 'manual' | 'interval' | 'on-context-change';
328
+ intervalMs?: number;
329
+ freshnessMs?: number;
330
+ cacheKey?: string;
331
+ }
332
+ interface PraxisXUiChartSource {
333
+ kind: PraxisXUiChartSourceKind;
334
+ resource?: string;
335
+ operation?: PraxisXUiChartStatsOperation;
336
+ options?: PraxisXUiChartStatsSourceOptions;
337
+ refresh?: PraxisXUiChartRefresh;
338
+ }
339
+ interface PraxisXUiChartToggleableFeature {
340
+ enabled: boolean;
341
+ }
342
+ interface PraxisXUiChartTheme {
343
+ palette?: string | string[];
344
+ variant?: 'default' | 'compact' | 'executive';
345
+ }
346
+ interface PraxisXUiChartStateDescriptor {
347
+ title?: PraxisXUiChartTextValue;
348
+ description?: PraxisXUiChartTextValue;
349
+ }
350
+ interface PraxisXUiChartState {
351
+ empty?: PraxisXUiChartStateDescriptor;
352
+ loading?: PraxisXUiChartStateDescriptor;
353
+ error?: PraxisXUiChartStateDescriptor;
354
+ }
355
+ interface PraxisXUiChartEventAction {
356
+ action: 'filter-widget' | 'open-detail' | 'navigate' | 'update-context' | 'emit';
357
+ target?: string;
358
+ mapping?: Record<string, string>;
359
+ }
360
+ interface PraxisXUiChartEvents {
361
+ pointClick?: PraxisXUiChartEventAction;
362
+ selectionChange?: PraxisXUiChartEventAction;
363
+ drillDown?: PraxisXUiChartEventAction;
364
+ crossFilter?: PraxisXUiChartEventAction;
365
+ }
366
+ interface PraxisXUiChartContract {
367
+ version: string;
368
+ kind: PraxisXUiChartKind;
369
+ preset?: PraxisXUiChartPreset;
370
+ chartId?: string;
371
+ title?: PraxisXUiChartTextValue;
372
+ subtitle?: PraxisXUiChartTextValue;
373
+ height?: number | string;
374
+ source: PraxisXUiChartSource;
375
+ dimensions?: PraxisXUiChartDimension[];
376
+ metrics?: PraxisXUiChartMetric[];
377
+ aggregations?: PraxisXUiChartAggregationConfig[];
378
+ groupBy?: string[];
379
+ sort?: PraxisXUiChartSort[];
380
+ filters?: PraxisXUiChartFilter[];
381
+ limit?: number;
382
+ legend?: boolean | PraxisXUiChartToggleableFeature;
383
+ labels?: boolean | PraxisXUiChartToggleableFeature;
384
+ tooltip?: boolean | PraxisXUiChartToggleableFeature;
385
+ theme?: PraxisXUiChartTheme;
386
+ state?: PraxisXUiChartState;
387
+ events?: PraxisXUiChartEvents;
388
+ }
389
+ interface PraxisXUiChartRuntimeHints {
390
+ preferredLoadState?: Extract<PraxisChartLoadState, 'idle' | 'loading' | 'ready' | 'empty' | 'error'>;
391
+ }
392
+
393
+ interface PraxisChartWidgetSchema {
394
+ kind?: 'x-ui.chart';
395
+ componentId?: 'praxis-chart' | 'chart';
396
+ key?: string;
397
+ className?: string;
398
+ chart?: PraxisXUiChartContract;
399
+ data?: PraxisChartDataRow[];
400
+ outputs?: WidgetDefinition['outputs'];
401
+ bindingOrder?: string[];
402
+ shell?: WidgetShellConfig;
403
+ layout?: GridItemLayout;
404
+ }
405
+ interface PraxisChartWidgetResolution {
406
+ componentId: 'praxis-chart';
407
+ key: string;
408
+ definition: WidgetDefinition;
409
+ shell?: WidgetShellConfig;
410
+ className?: string;
411
+ layout?: GridItemLayout;
412
+ }
413
+ type PraxisChartWidgetLike = PraxisXUiChartContract | PraxisChartWidgetSchema;
414
+ type PraxisChartWidgetInstance = WidgetInstance;
415
+ type PraxisChartGridWidgetInstance = GridWidgetInstance;
416
+
417
+ interface PraxisChartSchemaMeta {
418
+ schemaId: string;
419
+ schemaHash?: string;
420
+ resourcePath?: string;
421
+ operation?: 'get' | 'post';
422
+ schemaType?: 'response' | 'request';
423
+ source?: 'mock' | 'backend';
424
+ }
425
+ interface PraxisChartBackendWidgetPayload {
426
+ kind?: 'x-ui.chart';
427
+ key?: string;
428
+ className?: string;
429
+ layout?: GridItemLayout;
430
+ shell?: WidgetShellConfig;
431
+ outputs?: PraxisChartWidgetSchema['outputs'];
432
+ bindingOrder?: string[];
433
+ chart?: PraxisXUiChartContract;
434
+ runtime?: {
435
+ preferredLoadState?: Extract<PraxisChartLoadState, 'idle' | 'loading' | 'ready' | 'empty' | 'error'>;
436
+ };
437
+ }
438
+ interface PraxisChartBackendPayload {
439
+ schemaMeta: PraxisChartSchemaMeta;
440
+ widget: PraxisChartBackendWidgetPayload;
441
+ data?: PraxisChartDataRow[];
442
+ }
443
+
444
+ interface PraxisChartEngineRenderPayload {
445
+ config: PraxisChartConfig;
446
+ data: PraxisChartDataRow[];
447
+ onPointClick?: (event: PraxisChartPointEvent) => void;
448
+ }
449
+ interface PraxisChartEngineAdapter {
450
+ render(host: HTMLElement, payload: PraxisChartEngineRenderPayload): void;
451
+ resize(): void;
452
+ destroy(): void;
453
+ }
454
+
455
+ declare const PRAXIS_CHART_ENGINE: InjectionToken<PraxisChartEngineAdapter>;
456
+
457
+ declare function providePraxisCharts(): Provider[];
458
+
459
+ declare class PraxisChartCanonicalContractMapperService {
460
+ toPraxisChartConfig(contract: PraxisXUiChartContract): PraxisChartConfig;
461
+ private assertSupportedContract;
462
+ private buildAxes;
463
+ private buildSeries;
464
+ private buildDataSource;
465
+ private buildQuery;
466
+ private buildInteractions;
467
+ private buildTheme;
468
+ private mapTextValue;
469
+ private toLabel;
470
+ private resolveToggle;
471
+ private mapAggregation;
472
+ private toQueryFilterMap;
473
+ private buildStatsPath;
474
+ private buildStatsRequest;
475
+ private resolveStatsField;
476
+ private buildStatsMetricRequest;
477
+ private mapStatsOrderBy;
478
+ private mapStatsOrderByToBackend;
479
+ private mapStatsGranularityToBackend;
480
+ private mapDistributionModeToBackend;
481
+ private mapStatsMetricOperation;
482
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisChartCanonicalContractMapperService, never>;
483
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<PraxisChartCanonicalContractMapperService>;
484
+ }
485
+
486
+ interface PraxisChartCartesianSeries {
487
+ id: string;
488
+ name: string;
489
+ type: 'bar' | 'line';
490
+ stack?: string;
491
+ smooth?: boolean;
492
+ area?: boolean;
493
+ color?: string;
494
+ labelsVisible?: boolean;
495
+ points: Array<number | null>;
496
+ }
497
+ interface PraxisChartPieSlice {
498
+ id: string;
499
+ name: string;
500
+ value: number;
501
+ color?: string;
502
+ }
503
+ interface PraxisChartTransformedData {
504
+ mode: 'cartesian' | 'pie';
505
+ categories: string[];
506
+ series: PraxisChartCartesianSeries[];
507
+ slices: PraxisChartPieSlice[];
508
+ hasData: boolean;
509
+ }
510
+ declare class PraxisChartDataTransformerService {
511
+ transform(config: PraxisChartConfig, rows: PraxisChartDataRow[]): PraxisChartTransformedData;
512
+ private transformCartesian;
513
+ private transformPie;
514
+ private buildCartesianSeries;
515
+ private aggregate;
516
+ private extractMetricValue;
517
+ private normalizeCategory;
518
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisChartDataTransformerService, never>;
519
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<PraxisChartDataTransformerService>;
520
+ }
521
+
522
+ declare class PraxisChartOptionBuilderService {
523
+ private readonly transformer;
524
+ constructor(transformer: PraxisChartDataTransformerService);
525
+ build(config: PraxisChartConfig, rows: PraxisChartDataRow[]): EChartsCoreOption;
526
+ private resolveText;
527
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisChartOptionBuilderService, never>;
528
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<PraxisChartOptionBuilderService>;
529
+ }
530
+
531
+ declare class PraxisChartMetadataRegistrationService {
532
+ private readonly registry;
533
+ private registered;
534
+ constructor(registry: ComponentMetadataRegistry);
535
+ ensureRegistered(): void;
536
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisChartMetadataRegistrationService, never>;
537
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<PraxisChartMetadataRegistrationService>;
538
+ }
539
+
540
+ declare class PraxisChartSchemaMapperService {
541
+ private readonly metadataRegistration;
542
+ private readonly canonicalContractMapper;
543
+ constructor(metadataRegistration: PraxisChartMetadataRegistrationService, canonicalContractMapper: PraxisChartCanonicalContractMapperService);
544
+ resolve(input: PraxisChartWidgetLike, defaults?: {
545
+ key?: string;
546
+ layout?: GridItemLayout;
547
+ }): PraxisChartWidgetResolution;
548
+ toWidgetDefinition(input: PraxisChartWidgetLike): WidgetDefinition;
549
+ toWidgetInstance(input: PraxisChartWidgetLike, defaults?: {
550
+ key?: string;
551
+ }): WidgetInstance;
552
+ toGridWidgetInstance(input: PraxisChartWidgetLike, defaults: {
553
+ key?: string;
554
+ layout: GridItemLayout;
555
+ }): GridWidgetInstance;
556
+ private normalize;
557
+ private isWidgetSchema;
558
+ private isCanonicalChartContract;
559
+ private toConfig;
560
+ private toOutputs;
561
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisChartSchemaMapperService, never>;
562
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<PraxisChartSchemaMapperService>;
563
+ }
564
+
565
+ declare class PraxisChartBackendPayloadAdapterService {
566
+ private readonly chartSchemaMapper;
567
+ private readonly canonicalContractMapper;
568
+ constructor(chartSchemaMapper: PraxisChartSchemaMapperService, canonicalContractMapper: PraxisChartCanonicalContractMapperService);
569
+ toChartConfig(payload: PraxisChartBackendPayload): PraxisChartConfig;
570
+ toWidgetInstance(payload: PraxisChartBackendPayload): WidgetInstance;
571
+ toGridWidgetInstance(payload: PraxisChartBackendPayload): GridWidgetInstance;
572
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisChartBackendPayloadAdapterService, never>;
573
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<PraxisChartBackendPayloadAdapterService>;
574
+ }
575
+
576
+ declare class PraxisChartStatsApiService {
577
+ private readonly http;
578
+ private readonly apiUrl;
579
+ constructor(http: HttpClient, apiUrl: ApiUrlConfig);
580
+ execute(event: PraxisChartQueryRequestEvent, config: PraxisChartConfig): Observable<PraxisChartDataRow[]>;
581
+ private toChartRows;
582
+ private resolveBucketCategory;
583
+ private resolveMetricValue;
584
+ private resolveCategoryField;
585
+ private resolveMetricField;
586
+ private buildStatsUrl;
587
+ private buildDefaultApiBase;
588
+ private normalizePath;
589
+ private stripLeadingApiSegment;
590
+ private shouldStripLeadingApiSegment;
591
+ private handleHttpError;
592
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisChartStatsApiService, never>;
593
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<PraxisChartStatsApiService>;
594
+ }
595
+
596
+ declare const PRAXIS_CHART_BACKEND_MOCK_BAR: PraxisChartBackendPayload;
597
+ declare const PRAXIS_CHART_BACKEND_MOCK_TIMESERIES: PraxisChartBackendPayload;
598
+ declare const PRAXIS_CHART_BACKEND_MOCK_DONUT: PraxisChartBackendPayload;
599
+
600
+ declare const PRAXIS_CHART_DRILLDOWN_DATA_BY_MONTH: Record<string, PraxisChartDataRow[]>;
601
+
602
+ declare function buildPraxisChartMockWidgetPage(adapter: PraxisChartBackendPayloadAdapterService): WidgetPageDefinition;
603
+ declare function buildPraxisChartMockGridPage(adapter: PraxisChartBackendPayloadAdapterService): GridPageDefinition;
604
+ declare function buildPraxisChartInteractiveWidgetPage(adapter: PraxisChartBackendPayloadAdapterService): WidgetPageDefinition;
605
+ declare function buildPraxisChartInteractiveGridPage(adapter: PraxisChartBackendPayloadAdapterService): GridPageDefinition;
606
+
607
+ type ShowcaseLayoutMode = 'widget' | 'grid';
608
+ type ShowcasePayloadMode = 'group-by' | 'timeseries' | 'distribution';
609
+ type ShowcaseScenarioMode = 'baseline' | 'interactive' | 'empty' | 'loading' | 'error';
610
+ declare class PraxisChartCompositionShowcaseComponent {
611
+ protected readonly layoutMode: _angular_core.WritableSignal<ShowcaseLayoutMode>;
612
+ protected readonly payloadMode: _angular_core.WritableSignal<ShowcasePayloadMode>;
613
+ protected readonly scenarioMode: _angular_core.WritableSignal<ShowcaseScenarioMode>;
614
+ protected readonly runtimeContext: {
615
+ tenantId: string;
616
+ locale: string;
617
+ environment: string;
618
+ };
619
+ private readonly backendPayloadAdapter;
620
+ protected readonly widgetPage: _angular_core.Signal<_praxisui_core.WidgetPageDefinition>;
621
+ protected readonly gridPage: _angular_core.Signal<_praxisui_core.GridPageDefinition>;
622
+ protected readonly payloadTitle: _angular_core.Signal<"Envelope timeseries" | "Envelope distribution" | "Envelope group-by">;
623
+ protected readonly selectedPayloadJson: _angular_core.Signal<string>;
624
+ private readonly selectedPayload;
625
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisChartCompositionShowcaseComponent, never>;
626
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PraxisChartCompositionShowcaseComponent, "praxis-chart-composition-showcase", never, {}, {}, never, never, true, never>;
627
+ }
628
+
629
+ declare const PRAXIS_CHART_COMPONENT_METADATA: ComponentDocMeta;
630
+ declare function providePraxisChartsMetadata(): Provider;
631
+
632
+ declare const PRAXIS_CHART_DRILLDOWN_PANEL_METADATA: ComponentDocMeta;
633
+ declare function providePraxisChartDrilldownPanelMetadata(): Provider;
634
+
635
+ declare const PRAXIS_CHART_STATE_PROBE_COMPONENT_METADATA: ComponentDocMeta;
636
+ declare function providePraxisChartStateProbeMetadata(): Provider;
637
+
638
+ export { PRAXIS_CHART_BACKEND_MOCK_BAR, PRAXIS_CHART_BACKEND_MOCK_DONUT, 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_STATE_PROBE_COMPONENT_METADATA, PraxisChartBackendPayloadAdapterService, PraxisChartCanonicalContractMapperService, PraxisChartComponent, PraxisChartCompositionShowcaseComponent, PraxisChartDataTransformerService, PraxisChartDrilldownPanelComponent, PraxisChartOptionBuilderService, PraxisChartSchemaMapperService, PraxisChartStateProbeComponent, PraxisChartStatsApiService, buildPraxisChartInteractiveGridPage, buildPraxisChartInteractiveWidgetPage, buildPraxisChartMockGridPage, buildPraxisChartMockWidgetPage, providePraxisChartDrilldownPanelMetadata, providePraxisChartStateProbeMetadata, providePraxisCharts, providePraxisChartsMetadata };
639
+ export type { PraxisChartAggregation, PraxisChartAxisConfig, PraxisChartAxisLabelConfig, PraxisChartAxisPosition, PraxisChartAxisType, PraxisChartBackendPayload, PraxisChartBackendWidgetPayload, PraxisChartCartesianSeries, PraxisChartConfig, PraxisChartDataRow, PraxisChartDataSource, PraxisChartDistributionStatsRequest, PraxisChartEmptyStateConfig, PraxisChartEngineAdapter, PraxisChartEngineRenderPayload, PraxisChartErrorStateConfig, PraxisChartGridWidgetInstance, PraxisChartGroupByStatsRequest, PraxisChartInteractionConfig, PraxisChartLegendConfig, PraxisChartLoadState, PraxisChartLocalDataSource, PraxisChartMetricConfig, PraxisChartPieSlice, PraxisChartPointEvent, PraxisChartPrimitive, PraxisChartQueryConfig, PraxisChartQueryMetricConfig, PraxisChartQueryRequestEvent, PraxisChartRemoteDataSource, PraxisChartSchemaMeta, PraxisChartSeriesConfig, PraxisChartSeriesLabelConfig, PraxisChartStateConfig, PraxisChartStatsDistributionMode, PraxisChartStatsGranularity, PraxisChartStatsMetricOperation, PraxisChartStatsMetricRequest, PraxisChartStatsOperation, PraxisChartStatsOrderBy, PraxisChartStatsRequest, PraxisChartThemeConfig, PraxisChartTimeSeriesStatsRequest, PraxisChartTooltipConfig, PraxisChartTransformedData, PraxisChartType, PraxisChartWidgetInstance, PraxisChartWidgetLike, PraxisChartWidgetResolution, PraxisChartWidgetSchema, PraxisXUiChartAggregation, PraxisXUiChartAggregationConfig, PraxisXUiChartContract, PraxisXUiChartDimension, PraxisXUiChartEventAction, PraxisXUiChartEvents, PraxisXUiChartFilter, PraxisXUiChartKind, PraxisXUiChartMetric, PraxisXUiChartPreset, PraxisXUiChartRefresh, PraxisXUiChartRuntimeHints, PraxisXUiChartSort, PraxisXUiChartSource, PraxisXUiChartSourceKind, PraxisXUiChartState, PraxisXUiChartStateDescriptor, PraxisXUiChartStatsDistributionMode, PraxisXUiChartStatsOperation, PraxisXUiChartStatsOrderBy, PraxisXUiChartStatsSourceOptions, PraxisXUiChartTextValue, PraxisXUiChartTheme, PraxisXUiChartToggleableFeature };
package/package.json ADDED
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "@praxisui/charts",
3
+ "version": "1.0.0-beta.68",
4
+ "description": "Metadata-driven charts library for Praxis UI Angular with engine adapters and Apache ECharts as the initial renderer.",
5
+ "peerDependencies": {
6
+ "@angular/common": "^20.0.0",
7
+ "@angular/core": "^20.0.0",
8
+ "@praxisui/core": "^1.0.0-beta.68"
9
+ },
10
+ "dependencies": {
11
+ "echarts": "^6.0.0",
12
+ "tslib": "^2.3.0"
13
+ },
14
+ "license": "Apache-2.0",
15
+ "publishConfig": {
16
+ "access": "public"
17
+ },
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "https://github.com/codexrodrigues/praxis-ui-angular"
21
+ },
22
+ "homepage": "https://praxisui.dev",
23
+ "bugs": {
24
+ "url": "https://github.com/codexrodrigues/praxis-ui-angular/issues"
25
+ },
26
+ "keywords": [
27
+ "angular",
28
+ "praxisui",
29
+ "charts",
30
+ "analytics",
31
+ "echarts",
32
+ "metadata"
33
+ ],
34
+ "sideEffects": false,
35
+ "module": "fesm2022/praxisui-charts.mjs",
36
+ "typings": "index.d.ts",
37
+ "exports": {
38
+ "./package.json": {
39
+ "default": "./package.json"
40
+ },
41
+ ".": {
42
+ "types": "./index.d.ts",
43
+ "default": "./fesm2022/praxisui-charts.mjs"
44
+ }
45
+ }
46
+ }