@siemens/charts-ng 47.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/LICENSE.md +20 -0
  2. package/README.md +47 -0
  3. package/components/index.d.ts +13 -0
  4. package/components/si-chart/index.d.ts +6 -0
  5. package/components/si-chart/si-chart.component.d.ts +341 -0
  6. package/components/si-chart/si-chart.interfaces.d.ts +97 -0
  7. package/components/si-chart-cartesian/index.d.ts +6 -0
  8. package/components/si-chart-cartesian/si-chart-cartesian.component.d.ts +53 -0
  9. package/components/si-chart-cartesian/si-chart-cartesian.interfaces.d.ts +35 -0
  10. package/components/si-chart-circle/index.d.ts +6 -0
  11. package/components/si-chart-circle/si-chart-circle.component.d.ts +18 -0
  12. package/components/si-chart-circle/si-chart-circle.interface.d.ts +38 -0
  13. package/components/si-chart-gauge/index.d.ts +6 -0
  14. package/components/si-chart-gauge/si-chart-gauge.component.d.ts +84 -0
  15. package/components/si-chart-gauge/si-chart-gauge.interface.d.ts +9 -0
  16. package/components/si-chart-loading-spinner/si-chart-loading-spinner.component.d.ts +5 -0
  17. package/components/si-chart-progress/index.d.ts +6 -0
  18. package/components/si-chart-progress/si-chart-progress.component.d.ts +39 -0
  19. package/components/si-chart-progress/si-chart-progress.interface.d.ts +12 -0
  20. package/components/si-chart-progress-bar/index.d.ts +6 -0
  21. package/components/si-chart-progress-bar/si-chart-progress-bar.component.d.ts +28 -0
  22. package/components/si-chart-progress-bar/si-chart-progress-bar.interface.d.ts +12 -0
  23. package/components/si-chart-sankey/index.d.ts +5 -0
  24. package/components/si-chart-sankey/si-chart-sankey.component.d.ts +11 -0
  25. package/components/si-chart-sunburst/index.d.ts +5 -0
  26. package/components/si-chart-sunburst/si-chart-sunburst.component.d.ts +11 -0
  27. package/components/si-custom-legend/index.d.ts +6 -0
  28. package/components/si-custom-legend/si-custom-legend.component.d.ts +25 -0
  29. package/components/si-custom-legend/si-custom-legend.interface.d.ts +33 -0
  30. package/fesm2022/siemens-charts-ng.mjs +3576 -0
  31. package/fesm2022/siemens-charts-ng.mjs.map +1 -0
  32. package/index.d.ts +5 -0
  33. package/package.json +43 -0
  34. package/projects/charts-ng/README.md +47 -0
  35. package/public-api.d.ts +7 -0
  36. package/public-api.module.d.ts +18 -0
  37. package/shared/echarts.custom.d.ts +2 -0
  38. package/shared/echarts.model.d.ts +15 -0
  39. package/shared/index.d.ts +8 -0
  40. package/shared/theme-support.d.ts +394 -0
  41. package/shared/themes/element.d.ts +384 -0
package/LICENSE.md ADDED
@@ -0,0 +1,20 @@
1
+ The MIT License
2
+
3
+ Copyright (c) Siemens 2016 - 2025
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
6
+ this software and associated documentation files (the “Software”), to deal in
7
+ the Software without restriction, including without limitation the rights to
8
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
+ the Software, and to permit persons to whom the Software is furnished to do so,
10
+ subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,47 @@
1
+ # Element Charts
2
+
3
+ The Element chart library for Angular based on ECharts. Going through the roof. Stoinks.
4
+
5
+ ## Usage
6
+
7
+ To use the Element Charts Angular components in your project, add them to your dependencies
8
+ by executing:
9
+
10
+ ```sh
11
+ npm install --save @siemens/charts-ng
12
+ ```
13
+
14
+ You also have to install the peer dependencies of Element Charts.
15
+
16
+ ```sh
17
+ npm install echarts --save
18
+ ```
19
+
20
+ Import the library to your Angular `AppModule`, mostly residing in your
21
+ `src/app/app.modules.ts` file as follows:
22
+
23
+ ```ts
24
+ // [...]
25
+
26
+ // Import this library
27
+ import { SiChartsNgModule } from '@siemens/charts-ng';
28
+
29
+ @NgModule({
30
+ declarations: [AppComponent],
31
+ imports: [BrowserModule, SiChartsNgModule],
32
+ providers: [],
33
+ bootstrap: [AppComponent]
34
+ })
35
+ export class AppModule {}
36
+ ```
37
+
38
+ ### Running unit tests
39
+
40
+ Run `yarn charts:test` to perform the unit tests via [Karma](https://karma-runner.github.io).
41
+ You can set a seed for running the tests in a specific using an environment variable: `SEED=71384 yarn lib:test`
42
+
43
+ ## License
44
+
45
+ Code and documentation copyright 2018-2024 Siemens AG.
46
+
47
+ See [LICENSE.md](https://github.com/siemens/element/blob/main/LICENSE.md).
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Copyright Siemens 2016 - 2025.
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ export * from './si-chart/index';
6
+ export * from './si-chart-cartesian/index';
7
+ export * from './si-chart-circle/index';
8
+ export * from './si-chart-gauge/index';
9
+ export * from './si-chart-progress/index';
10
+ export * from './si-chart-progress-bar/index';
11
+ export * from './si-custom-legend/index';
12
+ export * from './si-chart-sankey/index';
13
+ export * from './si-chart-sunburst/index';
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright Siemens 2016 - 2025.
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ export * from './si-chart.component';
6
+ export * from './si-chart.interfaces';
@@ -0,0 +1,341 @@
1
+ /**
2
+ * Copyright Siemens 2016 - 2025.
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ import { AfterViewInit, ElementRef, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
6
+ import { echarts } from '../../shared/echarts.custom';
7
+ import { EChartOption, EChartSeries } from '../../shared/echarts.model';
8
+ import { SiCustomLegendComponent } from '../si-custom-legend/si-custom-legend.component';
9
+ import { CustomLegend, CustomLegendItem, CustomLegendProps } from '../si-custom-legend/si-custom-legend.interface';
10
+ import { AxisPointerEvent, CustomLegendMultiLineInfo, DataZoomEvent, DataZoomRange, FilterMode, GridRectCoordinate, LegendItem, SelectedLegendItem, SeriesUpdate } from './si-chart.interfaces';
11
+ import * as i0 from "@angular/core";
12
+ export declare class SiChartComponent implements AfterViewInit, OnChanges, OnInit, OnDestroy {
13
+ /**
14
+ * reference to the wrapper container. Used for setting scroll position, etc.
15
+ *
16
+ * @defaultValue
17
+ * ```
18
+ * viewChild.required<ElementRef>('chartContainerWrapper')
19
+ * ```
20
+ */
21
+ readonly chartContainerWrapper: import("@angular/core").Signal<ElementRef<any>>;
22
+ protected readonly chartContainer: import("@angular/core").Signal<ElementRef<any> | undefined>;
23
+ protected readonly externalZoomSliderContainer: import("@angular/core").Signal<ElementRef<any> | undefined>;
24
+ protected readonly siCustomLegend: import("@angular/core").Signal<readonly SiCustomLegendComponent[]>;
25
+ /**
26
+ * See [ECharts 5.x Documentation]{@link https://echarts.apache.org/en/option.html}
27
+ * for all available options.
28
+ */
29
+ readonly options: import("@angular/core").InputSignal<EChartOption | undefined>;
30
+ /** Used to override specific properties set in `options`. */
31
+ readonly additionalOptions: import("@angular/core").InputSignal<EChartOption | undefined>;
32
+ readonly title: import("@angular/core").InputSignal<string | undefined>;
33
+ readonly subTitle: import("@angular/core").InputSignal<string | undefined>;
34
+ /** @defaultValue true */
35
+ readonly showLegend: import("@angular/core").ModelSignal<boolean>;
36
+ /** @defaultValue false */
37
+ readonly showCustomLegend: import("@angular/core").InputSignal<boolean>;
38
+ /**
39
+ * the renderer to use: canvas or svg
40
+ *
41
+ * @defaultValue 'canvas'
42
+ */
43
+ readonly renderer: import("@angular/core").InputSignal<"canvas" | "svg">;
44
+ /**
45
+ * Enables the zoom slider below the chart.
46
+ *
47
+ * @defaultValue false
48
+ */
49
+ readonly zoomSlider: import("@angular/core").InputSignal<boolean>;
50
+ /**
51
+ * Shows data shadow in dataZoom slider, use together with `zoomSlider`.
52
+ *
53
+ * @defaultValue true
54
+ */
55
+ readonly zoomSliderShadow: import("@angular/core").InputSignal<boolean>;
56
+ /**
57
+ * realtime update mode for zoom slider
58
+ *
59
+ * @defaultValue true
60
+ */
61
+ readonly zoomSliderRealtime: import("@angular/core").InputSignal<boolean>;
62
+ /**
63
+ * enable brush mode for zoom slider
64
+ *
65
+ * @defaultValue true
66
+ */
67
+ readonly zoomSliderBrush: import("@angular/core").InputSignal<boolean>;
68
+ /**
69
+ * Enables zooming inside the chart with the mouse wheel/touch.
70
+ *
71
+ * @defaultValue false
72
+ */
73
+ readonly zoomInside: import("@angular/core").InputSignal<boolean>;
74
+ /** @defaultValue 1000 */
75
+ readonly maxEntries: import("@angular/core").InputSignal<number>;
76
+ /**
77
+ * No auto dataZoom update) by default. Use together with `autoZoomSeriesIndex`.
78
+ *
79
+ * @defaultValue -1
80
+ */
81
+ readonly visibleEntries: import("@angular/core").ModelSignal<number>;
82
+ /**
83
+ * No auto dataZoom update) by default. Use together with `autoZoomSeriesIndex`.
84
+ *
85
+ * @defaultValue -1
86
+ */
87
+ readonly visibleRange: import("@angular/core").ModelSignal<number>;
88
+ /**
89
+ * No auto dataZoom update) by default. Use together with `visibleEntries`.
90
+ *
91
+ * @defaultValue -1
92
+ */
93
+ readonly autoZoomSeriesIndex: import("@angular/core").InputSignal<number>;
94
+ /** The desired theme to load. */
95
+ readonly theme: import("@angular/core").InputSignal<any>;
96
+ /** Used to override specific options of loaded `theme`. */
97
+ readonly themeCustomization: import("@angular/core").InputSignal<any>;
98
+ /**
99
+ * The name of the color palette (if any) of the loaded `theme`.
100
+ *
101
+ * @defaultValue undefined
102
+ */
103
+ readonly palette: import("@angular/core").InputSignal<string | undefined>;
104
+ /**
105
+ * Used to display `axisPointer` line either by click or mouse-move.
106
+ *
107
+ * @defaultValue false
108
+ */
109
+ readonly axisPointer: import("@angular/core").InputSignal<string | boolean | undefined>;
110
+ readonly dataZoomRange: import("@angular/core").InputSignal<DataZoomRange | undefined>;
111
+ readonly dataZoomMinValueSpan: import("@angular/core").InputSignal<number | undefined>;
112
+ readonly dataZoomMaxValueSpan: import("@angular/core").InputSignal<number | undefined>;
113
+ /** @defaultValue 'none' */
114
+ readonly dataZoomFilterMode: import("@angular/core").InputSignal<FilterMode>;
115
+ readonly customLegendAction: import("@angular/core").InputSignal<boolean | undefined>;
116
+ /**
117
+ * @defaultValue
118
+ * ```
119
+ * { legendItemName: '' }
120
+ * ```
121
+ */
122
+ readonly selectedItem: import("@angular/core").InputSignal<SelectedLegendItem>;
123
+ readonly eChartContainerHeight: import("@angular/core").InputSignal<string | null | undefined>;
124
+ /**
125
+ * Flag to use external zoom slider
126
+ *
127
+ * @defaultValue false
128
+ */
129
+ readonly externalZoomSlider: import("@angular/core").InputSignal<boolean>;
130
+ /** External XAxis Formatter from consumer */
131
+ readonly externalXAxisFormatter: import("@angular/core").InputSignal<((value: any, visibleRange: number) => string) | undefined>;
132
+ /**
133
+ * If true, add consumer-provided time range bar. Use together with `zoomSlider`.
134
+ * @deprecated The input will be removed in future versions as the time range bar slot is deprecated.
135
+ *
136
+ * @defaultValue false
137
+ */
138
+ readonly showTimeRangeBar: import("@angular/core").InputSignal<boolean>;
139
+ /** Event emitted when data zoom changes. */
140
+ readonly dataZoom: import("@angular/core").OutputEmitterRef<DataZoomEvent>;
141
+ /** Event emitted when axis pointer moves. */
142
+ readonly pointer: import("@angular/core").OutputEmitterRef<AxisPointerEvent>;
143
+ readonly selectionChanged: import("@angular/core").OutputEmitterRef<any>;
144
+ readonly chartSeriesClick: import("@angular/core").OutputEmitterRef<LegendItem>;
145
+ /** Event emitted when chart grid is resized. */
146
+ readonly chartGridResized: import("@angular/core").OutputEmitterRef<GridRectCoordinate>;
147
+ readonly customLegendMultiLineInfoEvent: import("@angular/core").OutputEmitterRef<CustomLegendMultiLineInfo[]>;
148
+ /** Emitted when datazoom changes, indicating the time range in milliseconds, 0 for full range */
149
+ readonly timeRangeChange: import("@angular/core").OutputEmitterRef<number>;
150
+ /** Allow to override options specific for a chart type. */
151
+ protected actualOptions: EChartOption;
152
+ protected customLegend: CustomLegend[];
153
+ /** @internal */
154
+ chart: echarts.ECharts;
155
+ private extZoomSliderChart;
156
+ private echartElement;
157
+ private eChartExtSliderElement;
158
+ protected readonly inProgress: import("@angular/core").WritableSignal<boolean>;
159
+ protected readonly backgroundColor: import("@angular/core").WritableSignal<string>;
160
+ protected readonly textColor: import("@angular/core").WritableSignal<string>;
161
+ protected readonly titleColor: import("@angular/core").WritableSignal<string>;
162
+ protected readonly subTitleColor: import("@angular/core").WritableSignal<string>;
163
+ private selectedSeriesColors;
164
+ private unselectedSeriesColors;
165
+ private seriesSelectionState;
166
+ protected readonly containerHeight: import("@angular/core").WritableSignal<number | null>;
167
+ protected activeTheme: any;
168
+ protected autoZoomUpdate: boolean;
169
+ private subscriptions;
170
+ private prevAxisPointer;
171
+ private lastValidDataZoom;
172
+ private presetDataZoomRange?;
173
+ private dataZoomSetupDone;
174
+ private requestedDataZoom?;
175
+ private measureCanvas?;
176
+ private readonly cdRef;
177
+ protected curWidth: number;
178
+ protected curHeight: number;
179
+ protected readonly timeBarBottom: import("@angular/core").WritableSignal<number>;
180
+ protected readonly timeBarLeft: import("@angular/core").WritableSignal<number>;
181
+ protected readonly timeBarRight: import("@angular/core").WritableSignal<number>;
182
+ protected readonly timeBarHeight: import("@angular/core").WritableSignal<number>;
183
+ private gridCoordinates;
184
+ private customLegendsMultiLineInfo;
185
+ protected extZoomSliderOptions: EChartOption;
186
+ private echartMouseDown;
187
+ private echartMouseUp;
188
+ private echartExtSliderMouseDown;
189
+ private echartExtSliderMouseUp;
190
+ private readonly ngZone;
191
+ protected readonly shapePaths: Record<string, string>;
192
+ /**
193
+ * Allow consuming applications to re-draw chart on window resizes.
194
+ */
195
+ resize(): void;
196
+ ngOnChanges(changes: SimpleChanges): void;
197
+ ngOnInit(): void;
198
+ ngAfterViewInit(skipZoom?: boolean): void;
199
+ private calculateTextWidth;
200
+ private disposeChart;
201
+ ngOnDestroy(): void;
202
+ /**
203
+ * Re-render the whole chart.
204
+ */
205
+ resetChart(): void;
206
+ protected handleLegendClick(legend: CustomLegendItem): void;
207
+ protected handleLegendHover(legend: CustomLegendItem, start: boolean): void;
208
+ /**
209
+ * Toggle visibility of a series.
210
+ */
211
+ toggleSeriesVisibility(name: string, visible: boolean): void;
212
+ private doToggleSeriesVisibility;
213
+ private findCustomLegendItem;
214
+ protected getValidXAxis(): Set<number> | undefined;
215
+ protected setZoomMode(): void;
216
+ private applyTheme;
217
+ protected themeChanged(): void;
218
+ protected applyOptions(): void;
219
+ protected applyCustomLegendPosition(): void;
220
+ private applyAdditionalOptions;
221
+ private applyPalette;
222
+ protected applyDataZoom(): void;
223
+ private handleAxisPointer;
224
+ private handleAxisPointerSingleAxis;
225
+ protected hasDataZoom(): boolean;
226
+ protected getThemeValue(props: string[], defaultValue: any, ns?: string): any;
227
+ protected getThemeCustomValue(props: string[], defaultValue: any): any;
228
+ protected applyTitles(): void;
229
+ private modifyTopAlignment;
230
+ protected afterChartInit(skipZoom?: boolean): void;
231
+ protected afterChartResize(): void;
232
+ private getEChartInner;
233
+ private getEChartExternalSliderInner;
234
+ private handleExtChartMouseDown;
235
+ private handleExtChartMouseUp;
236
+ private handleChartMouseDown;
237
+ private handleChartMouseUp;
238
+ private setDataZoomRange;
239
+ private handleDataZoom;
240
+ private handleExtDataZoom;
241
+ protected handleSelectionChanged(event: any): void;
242
+ /**
243
+ * Creates two objects that stores the colors for selected and unselected series. Used only for custom legend actions.
244
+ */
245
+ protected fetchSeriesColors(colorsToBeUSed?: any): void;
246
+ /**
247
+ * Handles legend select event in non echart native way.
248
+ * @param event - legend select
249
+ */
250
+ protected handleSelectionChangedCustom(event: any): void;
251
+ /**
252
+ * Handles click on series in non echart native way.
253
+ * @param event - click
254
+ */
255
+ protected handleClickOnChart(event: any, toggleVisibility: boolean): void;
256
+ /**
257
+ * Selects or unselects the series based on series state object
258
+ * @param seriesName - series to be selected/unselected
259
+ * @param emit - if true event is emitted otherwise no event is emitted
260
+ */
261
+ protected styleSelectedSeries(seriesName: string, emit: boolean, seriesDataIndex: number): any;
262
+ /**
263
+ * Selects the series
264
+ * @param element - to be styled as selected
265
+ * @param emit - if true event is emitted otherwise no event is emitted
266
+ */
267
+ protected selectSeries(element: any, emit: boolean, seriesDataIndex: number): any;
268
+ /**
269
+ * Unselects the series
270
+ * @param element - to be styled as unselected
271
+ * @param emit - if true event is emitted otherwise no event is emitted
272
+ */
273
+ protected unselectSeries(element: any, emit: boolean, seriesDataIndex: number): {
274
+ color: any;
275
+ series: (EChartSeries | undefined)[];
276
+ };
277
+ private isValidDataZoomValue;
278
+ private saveCurrentDataZoom;
279
+ /**
280
+ * Get color by series name.
281
+ */
282
+ getSeriesColorBySeriesName(seriesName: string): string | undefined;
283
+ private doGetSeriesColorBySeriesName;
284
+ private applyColorsToCustomLegends;
285
+ private handleUpdateAxisPointer;
286
+ /**
287
+ * Get current data zoom range.
288
+ */
289
+ getVisibleRange(): DataZoomEvent | undefined;
290
+ protected internalGetModel(): any;
291
+ /**
292
+ * returns the current EChart options, w/o cloning anything. Be very careful
293
+ * not to change anything in the data structure in it.
294
+ */
295
+ getOptionNoClone(): any;
296
+ protected parsePercent(percent: string | number, all: number): number;
297
+ private doGetVisibleRange;
298
+ protected updateEChart(force?: boolean, options?: EChartOption): void;
299
+ protected updateAxisAndDataZoom(inOptions?: EChartOption): boolean;
300
+ /**
301
+ * Send action to echart.
302
+ * @see https://echarts.apache.org/en/api.html#action
303
+ */
304
+ dispatchEChartAction(action: echarts.Payload): void;
305
+ private getSeriesMinMax;
306
+ private calculateVisibleRange;
307
+ private getValueFromSeriesPoint;
308
+ private calculateZoomStartValue;
309
+ protected hasData(): boolean;
310
+ /**
311
+ * Re-render the chart series data. This method should be called on series data changes.
312
+ */
313
+ refreshSeries(isLive?: boolean, dzToSet?: DataZoomRange): void;
314
+ private updateDataZoom;
315
+ private doUpdateDZ;
316
+ protected applyStyles(): void;
317
+ protected addLegendItem(name: string, visible?: boolean | null, index?: number, gridIndex?: number, customLegendProp?: CustomLegendProps, seriesSymbol?: string): void;
318
+ private getPath;
319
+ private addCustomLegend;
320
+ /**
321
+ * Show loading indicator.
322
+ */
323
+ startProgressIndication(): void;
324
+ /**
325
+ * Hide loading indicator.
326
+ */
327
+ stopProgressIndication(): void;
328
+ /**
329
+ * Set the data zoom range for the chart in milliseconds.
330
+ * As an example one hour is the value 3600000.
331
+ */
332
+ setTimeRange(range: number): void;
333
+ protected addDataInternal(series: SeriesUpdate<any>[]): void;
334
+ private getPresetDataZoom;
335
+ private checkGridSizeChange;
336
+ private gridSizeItemChanged;
337
+ private setContainerHeight;
338
+ private updateCustomLegendMultiLineInfo;
339
+ static ɵfac: i0.ɵɵFactoryDeclaration<SiChartComponent, never>;
340
+ static ɵcmp: i0.ɵɵComponentDeclaration<SiChartComponent, "si-chart", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "additionalOptions": { "alias": "additionalOptions"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "subTitle": { "alias": "subTitle"; "required": false; "isSignal": true; }; "showLegend": { "alias": "showLegend"; "required": false; "isSignal": true; }; "showCustomLegend": { "alias": "showCustomLegend"; "required": false; "isSignal": true; }; "renderer": { "alias": "renderer"; "required": false; "isSignal": true; }; "zoomSlider": { "alias": "zoomSlider"; "required": false; "isSignal": true; }; "zoomSliderShadow": { "alias": "zoomSliderShadow"; "required": false; "isSignal": true; }; "zoomSliderRealtime": { "alias": "zoomSliderRealtime"; "required": false; "isSignal": true; }; "zoomSliderBrush": { "alias": "zoomSliderBrush"; "required": false; "isSignal": true; }; "zoomInside": { "alias": "zoomInside"; "required": false; "isSignal": true; }; "maxEntries": { "alias": "maxEntries"; "required": false; "isSignal": true; }; "visibleEntries": { "alias": "visibleEntries"; "required": false; "isSignal": true; }; "visibleRange": { "alias": "visibleRange"; "required": false; "isSignal": true; }; "autoZoomSeriesIndex": { "alias": "autoZoomSeriesIndex"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "themeCustomization": { "alias": "themeCustomization"; "required": false; "isSignal": true; }; "palette": { "alias": "palette"; "required": false; "isSignal": true; }; "axisPointer": { "alias": "axisPointer"; "required": false; "isSignal": true; }; "dataZoomRange": { "alias": "dataZoomRange"; "required": false; "isSignal": true; }; "dataZoomMinValueSpan": { "alias": "dataZoomMinValueSpan"; "required": false; "isSignal": true; }; "dataZoomMaxValueSpan": { "alias": "dataZoomMaxValueSpan"; "required": false; "isSignal": true; }; "dataZoomFilterMode": { "alias": "dataZoomFilterMode"; "required": false; "isSignal": true; }; "customLegendAction": { "alias": "customLegendAction"; "required": false; "isSignal": true; }; "selectedItem": { "alias": "selectedItem"; "required": false; "isSignal": true; }; "eChartContainerHeight": { "alias": "eChartContainerHeight"; "required": false; "isSignal": true; }; "externalZoomSlider": { "alias": "externalZoomSlider"; "required": false; "isSignal": true; }; "externalXAxisFormatter": { "alias": "externalXAxisFormatter"; "required": false; "isSignal": true; }; "showTimeRangeBar": { "alias": "showTimeRangeBar"; "required": false; "isSignal": true; }; }, { "showLegend": "showLegendChange"; "visibleEntries": "visibleEntriesChange"; "visibleRange": "visibleRangeChange"; "dataZoom": "dataZoom"; "pointer": "pointer"; "selectionChanged": "selectionChanged"; "chartSeriesClick": "chartSeriesClick"; "chartGridResized": "chartGridResized"; "customLegendMultiLineInfoEvent": "customLegendMultiLineInfoEvent"; "timeRangeChange": "timeRangeChange"; }, never, ["[slot=timeRangeBar]"], true, never>;
341
+ }
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Copyright Siemens 2016 - 2025.
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ export type AxisType = 'value' | 'category' | 'time' | 'log';
6
+ export type XAxisPosition = 'top' | 'bottom';
7
+ export type YAxisPosition = 'left' | 'right';
8
+ export type FilterMode = 'none' | 'filter' | 'weakFilter' | 'empty';
9
+ export type AxisData = (string | number | any)[];
10
+ interface ChartAxis {
11
+ type: AxisType;
12
+ offset?: number;
13
+ name?: string;
14
+ data?: AxisData;
15
+ min?: number;
16
+ max?: number;
17
+ splitLine?: {
18
+ show?: boolean;
19
+ };
20
+ axisLine?: {
21
+ show?: boolean;
22
+ onZero?: boolean;
23
+ };
24
+ splitNumber?: number;
25
+ axisLabel?: any;
26
+ show?: boolean;
27
+ gridIndex?: number;
28
+ }
29
+ export interface ChartXAxis extends ChartAxis {
30
+ position?: XAxisPosition;
31
+ [key: string]: any;
32
+ }
33
+ export interface ChartYAxis extends ChartAxis {
34
+ position?: YAxisPosition;
35
+ scale?: boolean;
36
+ [key: string]: any;
37
+ }
38
+ export interface SeriesUpdate<SeriesType> {
39
+ index: number;
40
+ data: SeriesType;
41
+ }
42
+ export interface AxisPointerEvent {
43
+ seriesIndex?: number;
44
+ dataIndex?: number;
45
+ }
46
+ export interface DataZoomRange {
47
+ startValue?: any;
48
+ endValue?: any;
49
+ visibleWidth?: any;
50
+ start?: any;
51
+ end?: any;
52
+ }
53
+ export interface DataZoomEvent {
54
+ rangeType: AxisType;
55
+ rangeStart: any;
56
+ rangeEnd: any;
57
+ width?: number;
58
+ autoZoomUpdate?: boolean;
59
+ requested?: DataZoomRange;
60
+ source?: string;
61
+ }
62
+ export interface LineColor {
63
+ [key: string]: {
64
+ color: string;
65
+ index: number;
66
+ };
67
+ }
68
+ export interface SeriesSelectionState {
69
+ [key: string]: boolean;
70
+ }
71
+ export interface SelectedLegendItem {
72
+ legendItemName: string;
73
+ }
74
+ export interface LegendItem {
75
+ itemName: string;
76
+ dataIndex: number;
77
+ selected?: boolean;
78
+ color?: string;
79
+ }
80
+ export interface GridRectCoordinate {
81
+ x: number;
82
+ y: number;
83
+ width: number;
84
+ height: number;
85
+ containerWidth: number;
86
+ containerHeight: number;
87
+ }
88
+ export interface CustomLegendMultiLineInfo {
89
+ customLegendId: number;
90
+ isCustomLegendMultilined: boolean;
91
+ }
92
+ export interface SiSeriesOption {
93
+ displayName?: string;
94
+ customLegendToolTip?: string;
95
+ visible?: boolean;
96
+ }
97
+ export {};
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright Siemens 2016 - 2025.
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ export * from './si-chart-cartesian.component';
6
+ export * from './si-chart-cartesian.interfaces';
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Copyright Siemens 2016 - 2025.
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ import { OnChanges, SimpleChanges } from '@angular/core';
6
+ import { SiChartComponent } from '../si-chart/si-chart.component';
7
+ import { ChartXAxis, ChartYAxis, DataZoomRange, SeriesUpdate } from '../si-chart/si-chart.interfaces';
8
+ import { CartesianChartData, CartesianChartSeries, SubchartGrid } from './si-chart-cartesian.interfaces';
9
+ import * as i0 from "@angular/core";
10
+ export declare class SiChartCartesianComponent extends SiChartComponent implements OnChanges {
11
+ readonly series: import("@angular/core").InputSignal<CartesianChartSeries[] | undefined>;
12
+ readonly subChartGrids: import("@angular/core").InputSignal<SubchartGrid[] | undefined>;
13
+ readonly yAxis: import("@angular/core").InputSignal<ChartYAxis | ChartYAxis[] | undefined>;
14
+ readonly xAxis: import("@angular/core").InputSignal<ChartXAxis | ChartXAxis[] | undefined>;
15
+ readonly tooltipFormatter: import("@angular/core").InputSignal<string | import("echarts").TooltipComponentFormatterCallback<import("echarts").TooltipComponentFormatterCallbackParams> | undefined>;
16
+ /**
17
+ * Used to display the chart as a stacked one.
18
+ *
19
+ * @defaultValue false
20
+ */
21
+ readonly stacked: import("@angular/core").InputSignal<boolean>;
22
+ /** Enable or disable brush zoom mode */
23
+ readonly zoomMode: import("@angular/core").InputSignal<boolean | undefined>;
24
+ ngOnChanges(changes: SimpleChanges): void;
25
+ private formatTooltip;
26
+ /**
27
+ * Get the series marker svg by series name.
28
+ */
29
+ getSeriesMarkerSvg(seriesName: string): string;
30
+ /**
31
+ * Get the series marker by series name.
32
+ */
33
+ getSeriesMarker(seriesName: string): string;
34
+ protected afterChartInit(skipZoom?: boolean): void;
35
+ protected setZoomMode(): void;
36
+ protected getValidXAxis(): Set<number>;
37
+ protected applyOptions(): void;
38
+ private hasDifferentMarker;
39
+ private getGrid;
40
+ refreshSeries(isLive?: boolean, dzToSet?: DataZoomRange): void;
41
+ protected hasData(): boolean;
42
+ protected handleSelectionChanged(event: any): void;
43
+ /**
44
+ * Update single chart data entry.
45
+ */
46
+ addData(index: number, data: CartesianChartData): void;
47
+ /**
48
+ * Append charts data entries to the end of the series.
49
+ */
50
+ addDataMulti(series: SeriesUpdate<CartesianChartData>[]): void;
51
+ static ɵfac: i0.ɵɵFactoryDeclaration<SiChartCartesianComponent, never>;
52
+ static ɵcmp: i0.ɵɵComponentDeclaration<SiChartCartesianComponent, "si-chart-cartesian", never, { "series": { "alias": "series"; "required": false; "isSignal": true; }; "subChartGrids": { "alias": "subChartGrids"; "required": false; "isSignal": true; }; "yAxis": { "alias": "yAxis"; "required": false; "isSignal": true; }; "xAxis": { "alias": "xAxis"; "required": false; "isSignal": true; }; "tooltipFormatter": { "alias": "tooltipFormatter"; "required": false; "isSignal": true; }; "stacked": { "alias": "stacked"; "required": false; "isSignal": true; }; "zoomMode": { "alias": "zoomMode"; "required": false; "isSignal": true; }; }, {}, never, ["[slot=timeRangeBar]"], true, never>;
53
+ }
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Copyright Siemens 2016 - 2025.
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ import { BarSeriesOption, CandlestickSeriesOption, HeatmapSeriesOption, LineSeriesOption, MarkAreaComponentOption, MarkLineComponentOption, MarkPointComponentOption, ScatterSeriesOption } from '../../shared/echarts.model';
6
+ import { SiSeriesOption } from '../si-chart/si-chart.interfaces';
7
+ export type LineStepType = 'start' | 'middle' | 'end';
8
+ export type LineType = 'solid' | 'dashed' | 'dotted';
9
+ export interface SubchartGrid {
10
+ categoryId?: string;
11
+ top?: number | string;
12
+ bottom?: number | string;
13
+ left?: number | string;
14
+ right?: number | string;
15
+ height?: number | string;
16
+ containLabel?: boolean;
17
+ }
18
+ export interface SiLineSeriesOption extends LineSeriesOption, SiSeriesOption {
19
+ area?: boolean;
20
+ }
21
+ export type SiBarSeriesOption = BarSeriesOption & SiSeriesOption;
22
+ export type SiHeatmapSeriesOption = HeatmapSeriesOption & SiSeriesOption;
23
+ export type SiScatterSeriesOption = ScatterSeriesOption & SiSeriesOption;
24
+ export type SiCandlestickSeriesOption = CandlestickSeriesOption & SiSeriesOption;
25
+ export type LineSeriesData = NonNullable<LineSeriesOption['data']>;
26
+ export type BarSeriesData = NonNullable<BarSeriesOption['data']>;
27
+ export type HeatmapSeriesData = NonNullable<HeatmapSeriesOption['data']>;
28
+ export type ScatterSeriesData = NonNullable<Exclude<ScatterSeriesOption['data'], ArrayLike<number>>>;
29
+ export type CandlestickSeriesData = NonNullable<CandlestickSeriesOption['data']>;
30
+ export type CartesianDataNullable = LineSeriesData | BarSeriesData | HeatmapSeriesData | ScatterSeriesData | CandlestickSeriesData | never;
31
+ export type CartesianChartData = NonNullable<CartesianDataNullable>;
32
+ export type CartesianChartSeries = SiBarSeriesOption | SiLineSeriesOption | SiHeatmapSeriesOption | SiScatterSeriesOption | SiCandlestickSeriesOption | never;
33
+ export type MarkAreaData = NonNullable<MarkAreaComponentOption['data']>;
34
+ export type MarkPointData = NonNullable<MarkPointComponentOption['data']>;
35
+ export type MarkLineData = NonNullable<MarkLineComponentOption['data']>;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright Siemens 2016 - 2025.
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ export * from './si-chart-circle.component';
6
+ export * from './si-chart-circle.interface';
@@ -0,0 +1,18 @@
1
+ import { SiChartComponent } from '../si-chart/si-chart.component';
2
+ import { CircleChartSeries, CircleValueUpdate } from './si-chart-circle.interface';
3
+ import * as i0 from "@angular/core";
4
+ export declare class SiChartCircleComponent extends SiChartComponent {
5
+ readonly series: import("@angular/core").InputSignal<CircleChartSeries[] | undefined>;
6
+ protected applyOptions(): void;
7
+ protected applyDataZoom(): void;
8
+ /**
9
+ * Update single value of the circle chart.
10
+ */
11
+ changeSingleValue(index: number, valueIndex: number, value: number): void;
12
+ /**
13
+ * Update multiple values of the circle chart.
14
+ */
15
+ changeMultiValues(updateValues: CircleValueUpdate[]): void;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<SiChartCircleComponent, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<SiChartCircleComponent, "si-chart-circle", never, { "series": { "alias": "series"; "required": false; "isSignal": true; }; }, {}, never, ["[slot=timeRangeBar]"], true, never>;
18
+ }