@porscheinformatik/clr-addons 19.15.2 → 19.17.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.
- package/charts/area-chart/area-chart.component.d.ts +40 -0
- package/charts/bar-chart/bar-chart.component.d.ts +92 -0
- package/charts/chart-alert-overlay/chart-alert-overlay.component.d.ts +7 -0
- package/charts/chart-export/chart-export-button.component.d.ts +9 -0
- package/charts/chart-export/chart-export.service.d.ts +10 -0
- package/charts/chart-legend/chart-legend.component.d.ts +12 -0
- package/charts/chart-tooltip/chart-tooltip.component.d.ts +16 -0
- package/charts/charts.module.d.ts +21 -0
- package/charts/combo-chart/combo-chart.component.d.ts +77 -0
- package/charts/constants/alert-message-constants.d.ts +5 -0
- package/charts/constants/index.d.ts +1 -0
- package/charts/directives/auto-position.directive.d.ts +16 -0
- package/charts/directives/index.d.ts +4 -0
- package/charts/directives/outside-click.directive.d.ts +10 -0
- package/charts/directives/screen-state.service.d.ts +35 -0
- package/charts/directives/tenant-full-date-range.directive.d.ts +10 -0
- package/charts/directives/window-resize.directive.d.ts +12 -0
- package/charts/funnel-chart/funnel-chart.component.d.ts +153 -0
- package/charts/index.d.ts +8 -0
- package/charts/line-chart/line-chart.component.d.ts +40 -0
- package/charts/pie-chart/pie-chart.component.d.ts +39 -0
- package/charts/shared/chart-base.d.ts +37 -0
- package/charts/shared/chart-skeleton.component.d.ts +8 -0
- package/charts/shared/d3-chart-axes.d.ts +28 -0
- package/charts/shared/d3-dots.d.ts +10 -0
- package/charts/shared/xy-chart.types.d.ts +35 -0
- package/charts/utils/color.utils.d.ts +9 -0
- package/charts/utils/index.d.ts +3 -0
- package/charts/utils/text.utils.d.ts +8 -0
- package/charts/utils/utils.d.ts +2 -0
- package/clr-addons.module.d.ts +4 -3
- package/control-enter-submit/clr-control-enter-submit.directive.d.ts +1 -1
- package/copy-to-clipboard/copy-to-clipboard.d.ts +30 -0
- package/copy-to-clipboard/index.d.ts +1 -0
- package/fesm2022/clr-addons.mjs +2834 -308
- package/fesm2022/clr-addons.mjs.map +1 -1
- package/index.d.ts +2 -2
- package/package.json +1 -1
- package/styles/clr-addons-phs.css +52 -0
- package/styles/clr-addons-phs.css.map +1 -1
- package/styles/clr-addons-phs.min.css +1 -1
- package/styles/clr-addons-phs.min.css.map +1 -1
- package/summary-area/index.d.ts +0 -1
- package/summary-area/summary-item-value-copy-button/summary-item-value-copy-button.d.ts +0 -24
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { ChartLegendItem } from '../chart-legend/chart-legend.component';
|
|
3
|
+
import { XYChartPoint, XYChartSeries, XYChartValue } from '../shared/xy-chart.types';
|
|
4
|
+
import { ChartBase } from '../shared/chart-base';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export type { XYChartPoint as AreaChartPoint, XYChartSeries as AreaChartSeries, XYChartValue as AreaChartValue, } from '../shared/xy-chart.types';
|
|
7
|
+
type AreaChartSelectedPoint = XYChartPoint & {
|
|
8
|
+
seriesKey: string;
|
|
9
|
+
seriesLabel: string;
|
|
10
|
+
color: string;
|
|
11
|
+
};
|
|
12
|
+
export declare class AreaChartComponent extends ChartBase<AreaChartSelectedPoint> implements OnChanges {
|
|
13
|
+
readonly series: import("@angular/core").InputSignal<XYChartSeries[]>;
|
|
14
|
+
readonly tooltipOrientation: import("@angular/core").InputSignal<"top" | "bottom">;
|
|
15
|
+
readonly showLegend: import("@angular/core").InputSignal<boolean>;
|
|
16
|
+
readonly showExportButton: import("@angular/core").InputSignal<boolean>;
|
|
17
|
+
readonly exportFilename: import("@angular/core").InputSignal<string>;
|
|
18
|
+
/** Area fill opacity (0–1). Default: 0.2. */
|
|
19
|
+
readonly areaOpacity: import("@angular/core").InputSignal<number>;
|
|
20
|
+
readonly noItemsMessage: import("@angular/core").InputSignal<string>;
|
|
21
|
+
readonly tooltipPercentOfTotal: import("@angular/core").InputSignal<string>;
|
|
22
|
+
/** Optional label rendered below the X axis. */
|
|
23
|
+
readonly xAxisLabel: import("@angular/core").InputSignal<string>;
|
|
24
|
+
/** Optional label rendered rotated to the left of the Y axis. */
|
|
25
|
+
readonly yAxisLabel: import("@angular/core").InputSignal<string>;
|
|
26
|
+
readonly valueClicked: import("@angular/core").OutputEmitterRef<XYChartValue>;
|
|
27
|
+
private readonly MARGIN;
|
|
28
|
+
protected readonly hasData: import("@angular/core").Signal<boolean>;
|
|
29
|
+
protected readonly total: import("@angular/core").Signal<number>;
|
|
30
|
+
readonly alertMessageAndType: import("@angular/core").Signal<[string, string]>;
|
|
31
|
+
readonly legendItems: import("@angular/core").Signal<ChartLegendItem[]>;
|
|
32
|
+
private svg;
|
|
33
|
+
ngOnChanges(_changes: SimpleChanges): void;
|
|
34
|
+
ngAfterViewInit(): void;
|
|
35
|
+
protected updateChart(): void;
|
|
36
|
+
private drawSeries;
|
|
37
|
+
private openTooltip;
|
|
38
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AreaChartComponent, never>;
|
|
39
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AreaChartComponent, "clr-area-chart", never, { "series": { "alias": "series"; "required": true; "isSignal": true; }; "tooltipOrientation": { "alias": "tooltipOrientation"; "required": false; "isSignal": true; }; "showLegend": { "alias": "showLegend"; "required": false; "isSignal": true; }; "showExportButton": { "alias": "showExportButton"; "required": false; "isSignal": true; }; "exportFilename": { "alias": "exportFilename"; "required": false; "isSignal": true; }; "areaOpacity": { "alias": "areaOpacity"; "required": false; "isSignal": true; }; "noItemsMessage": { "alias": "noItemsMessage"; "required": false; "isSignal": true; }; "tooltipPercentOfTotal": { "alias": "tooltipPercentOfTotal"; "required": false; "isSignal": true; }; "xAxisLabel": { "alias": "xAxisLabel"; "required": false; "isSignal": true; }; "yAxisLabel": { "alias": "yAxisLabel"; "required": false; "isSignal": true; }; }, { "valueClicked": "valueClicked"; }, never, never, false, never>;
|
|
40
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { ChartLegendItem } from '../chart-legend/chart-legend.component';
|
|
3
|
+
import { toChartColor } from '../utils';
|
|
4
|
+
import { ChartBase } from '../shared/chart-base';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export interface BarChartData {
|
|
7
|
+
key: string;
|
|
8
|
+
label: string;
|
|
9
|
+
fullLabel?: string;
|
|
10
|
+
value: number;
|
|
11
|
+
color?: string;
|
|
12
|
+
stackKey?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface BarChartValue {
|
|
15
|
+
key: string[];
|
|
16
|
+
label: string;
|
|
17
|
+
value: number;
|
|
18
|
+
}
|
|
19
|
+
type BarChartDataPoint = BarChartData & {
|
|
20
|
+
stackValue0: number;
|
|
21
|
+
stackValue1: number;
|
|
22
|
+
percentageOfStack: number;
|
|
23
|
+
};
|
|
24
|
+
export declare class BarChartComponent extends ChartBase<BarChartDataPoint> implements OnChanges {
|
|
25
|
+
readonly data: import("@angular/core").InputSignal<BarChartData[]>;
|
|
26
|
+
readonly stackLabels: import("@angular/core").InputSignal<string[]>;
|
|
27
|
+
readonly orientation: import("@angular/core").InputSignal<"horizontal" | "vertical">;
|
|
28
|
+
readonly tooltipOrientation: import("@angular/core").InputSignal<"top" | "bottom">;
|
|
29
|
+
readonly barSizePx: import("@angular/core").InputSignal<number>;
|
|
30
|
+
readonly barAreaSizePx: import("@angular/core").InputSignal<number>;
|
|
31
|
+
readonly tooltipPercentOfTotal: import("@angular/core").InputSignal<string>;
|
|
32
|
+
readonly tooltipPercentOf: import("@angular/core").InputSignal<string>;
|
|
33
|
+
readonly noItemsMessage: import("@angular/core").InputSignal<string>;
|
|
34
|
+
readonly tooManyItemsMessage: import("@angular/core").InputSignal<string>;
|
|
35
|
+
readonly tooManyItemsGroupedMessage: import("@angular/core").InputSignal<string>;
|
|
36
|
+
readonly showLegend: import("@angular/core").InputSignal<boolean>;
|
|
37
|
+
readonly showExportButton: import("@angular/core").InputSignal<boolean>;
|
|
38
|
+
readonly exportFilename: import("@angular/core").InputSignal<string>;
|
|
39
|
+
/** Optional label rendered below the X axis. */
|
|
40
|
+
readonly xAxisLabel: import("@angular/core").InputSignal<string>;
|
|
41
|
+
/** Optional label rendered rotated to the left of the Y axis. */
|
|
42
|
+
readonly yAxisLabel: import("@angular/core").InputSignal<string>;
|
|
43
|
+
readonly valueClicked: import("@angular/core").OutputEmitterRef<BarChartValue>;
|
|
44
|
+
private readonly textRenderer;
|
|
45
|
+
private readonly MARGIN;
|
|
46
|
+
private static readonly HORIZONTAL_BAR_MIN_HEIGHT_PX;
|
|
47
|
+
protected readonly toChartColor: typeof toChartColor;
|
|
48
|
+
protected readonly total: import("@angular/core").Signal<number>;
|
|
49
|
+
protected readonly totalByStack: import("@angular/core").Signal<Record<string, number>>;
|
|
50
|
+
protected readonly keysByStack: import("@angular/core").Signal<Record<string, string[]>>;
|
|
51
|
+
protected readonly totalBarCount: import("@angular/core").Signal<number>;
|
|
52
|
+
protected readonly showingBarCount: import("@angular/core").Signal<number>;
|
|
53
|
+
readonly alertMessageAndType: import("@angular/core").Signal<[string, string]>;
|
|
54
|
+
readonly legendItems: import("@angular/core").Signal<ChartLegendItem[]>;
|
|
55
|
+
/** Computed values used by the tooltip to avoid inline logic in the template. */
|
|
56
|
+
protected readonly tooltipKey: import("@angular/core").Signal<string[]>;
|
|
57
|
+
protected readonly tooltipLabel: import("@angular/core").Signal<string>;
|
|
58
|
+
protected readonly tooltipValue: import("@angular/core").Signal<number>;
|
|
59
|
+
/** Slices belonging to the currently selected stack – used by the tooltip @for loop. */
|
|
60
|
+
protected readonly selectedStackSlices: import("@angular/core").Signal<BarChartDataPoint[]>;
|
|
61
|
+
private readonly maxAmountOfItems;
|
|
62
|
+
private readonly slicedDataPoints;
|
|
63
|
+
private svg;
|
|
64
|
+
private barSelection;
|
|
65
|
+
private labelSelection;
|
|
66
|
+
constructor();
|
|
67
|
+
ngOnChanges(_changes: SimpleChanges): void;
|
|
68
|
+
ngAfterViewInit(): void;
|
|
69
|
+
private createChart;
|
|
70
|
+
protected updateChart(): void;
|
|
71
|
+
private createVerticalChart;
|
|
72
|
+
private createHorizontalChart;
|
|
73
|
+
private createBarSelectionGroups;
|
|
74
|
+
private addTextCommonInfo;
|
|
75
|
+
private addTextHoverHandlers;
|
|
76
|
+
private setHoverStylesByStackKey;
|
|
77
|
+
private addBarClickHandler;
|
|
78
|
+
private addTextClickHandler;
|
|
79
|
+
private openTooltipByKey;
|
|
80
|
+
private addTextAndTitle;
|
|
81
|
+
private styleGridLines;
|
|
82
|
+
private addVerticalBarRectangle;
|
|
83
|
+
private addHorizontalBarRectangle;
|
|
84
|
+
/** Appends a shared-style axis description label to the chart group. */
|
|
85
|
+
private appendAxisLabel;
|
|
86
|
+
private stackItems;
|
|
87
|
+
private mapItems;
|
|
88
|
+
private getMaxAmountOfItems;
|
|
89
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BarChartComponent, never>;
|
|
90
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BarChartComponent, "clr-bar-chart", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; "stackLabels": { "alias": "stackLabels"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": true; "isSignal": true; }; "tooltipOrientation": { "alias": "tooltipOrientation"; "required": false; "isSignal": true; }; "barSizePx": { "alias": "barSizePx"; "required": false; "isSignal": true; }; "barAreaSizePx": { "alias": "barAreaSizePx"; "required": false; "isSignal": true; }; "tooltipPercentOfTotal": { "alias": "tooltipPercentOfTotal"; "required": false; "isSignal": true; }; "tooltipPercentOf": { "alias": "tooltipPercentOf"; "required": false; "isSignal": true; }; "noItemsMessage": { "alias": "noItemsMessage"; "required": false; "isSignal": true; }; "tooManyItemsMessage": { "alias": "tooManyItemsMessage"; "required": false; "isSignal": true; }; "tooManyItemsGroupedMessage": { "alias": "tooManyItemsGroupedMessage"; "required": false; "isSignal": true; }; "showLegend": { "alias": "showLegend"; "required": false; "isSignal": true; }; "showExportButton": { "alias": "showExportButton"; "required": false; "isSignal": true; }; "exportFilename": { "alias": "exportFilename"; "required": false; "isSignal": true; }; "xAxisLabel": { "alias": "xAxisLabel"; "required": false; "isSignal": true; }; "yAxisLabel": { "alias": "yAxisLabel"; "required": false; "isSignal": true; }; }, { "valueClicked": "valueClicked"; }, never, never, false, never>;
|
|
91
|
+
}
|
|
92
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class ChartAlertOverlayComponent {
|
|
3
|
+
readonly alertMessage: import("@angular/core").InputSignal<string>;
|
|
4
|
+
readonly alertType: import("@angular/core").InputSignal<string>;
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ChartAlertOverlayComponent, never>;
|
|
6
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ChartAlertOverlayComponent, "cng-chart-alert-overlay", never, { "alertMessage": { "alias": "alertMessage"; "required": true; "isSignal": true; }; "alertType": { "alias": "alertType"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class ChartExportButtonComponent {
|
|
3
|
+
readonly svgRef: import("@angular/core").InputSignal<SVGSVGElement>;
|
|
4
|
+
readonly filename: import("@angular/core").InputSignal<string>;
|
|
5
|
+
private readonly exportService;
|
|
6
|
+
export(format: 'svg' | 'png'): void;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ChartExportButtonComponent, never>;
|
|
8
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ChartExportButtonComponent, "cng-chart-export-button", never, { "svgRef": { "alias": "svgRef"; "required": false; "isSignal": true; }; "filename": { "alias": "filename"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class ChartExportService {
|
|
3
|
+
exportSvg(svgEl: SVGSVGElement, filename: string): void;
|
|
4
|
+
exportPng(svgEl: SVGSVGElement, filename: string): void;
|
|
5
|
+
private toCanvas;
|
|
6
|
+
private cloneWithDimensions;
|
|
7
|
+
private download;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ChartExportService, never>;
|
|
9
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ChartExportService>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { toChartColor } from '../utils';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export interface ChartLegendItem {
|
|
4
|
+
label: string;
|
|
5
|
+
color: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class ChartLegendComponent {
|
|
8
|
+
readonly items: import("@angular/core").InputSignal<ChartLegendItem[]>;
|
|
9
|
+
protected readonly toChartColor: typeof toChartColor;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ChartLegendComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ChartLegendComponent, "cng-chart-legend", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { toChartColor } from '../utils';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class ChartTooltipComponent {
|
|
4
|
+
readonly tooltipPosition: import("@angular/core").InputSignal<{
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
}>;
|
|
8
|
+
readonly tooltipOrientation: import("@angular/core").InputSignal<"top" | "bottom">;
|
|
9
|
+
readonly squareColor: import("@angular/core").InputSignal<string>;
|
|
10
|
+
readonly tooltipClickable: import("@angular/core").InputSignal<boolean>;
|
|
11
|
+
readonly tooltipClosed: import("@angular/core").OutputEmitterRef<void>;
|
|
12
|
+
readonly tooltipHeaderClicked: import("@angular/core").OutputEmitterRef<void>;
|
|
13
|
+
protected readonly toChartColor: typeof toChartColor;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ChartTooltipComponent, never>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ChartTooltipComponent, "cng-chart-tooltip", never, { "tooltipPosition": { "alias": "tooltipPosition"; "required": true; "isSignal": true; }; "tooltipOrientation": { "alias": "tooltipOrientation"; "required": false; "isSignal": true; }; "squareColor": { "alias": "squareColor"; "required": true; "isSignal": true; }; "tooltipClickable": { "alias": "tooltipClickable"; "required": false; "isSignal": true; }; }, { "tooltipClosed": "tooltipClosed"; "tooltipHeaderClicked": "tooltipHeaderClicked"; }, never, ["cng-title", "*", "cng-footer"], true, never>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./area-chart/area-chart.component";
|
|
3
|
+
import * as i2 from "./bar-chart/bar-chart.component";
|
|
4
|
+
import * as i3 from "./combo-chart/combo-chart.component";
|
|
5
|
+
import * as i4 from "./funnel-chart/funnel-chart.component";
|
|
6
|
+
import * as i5 from "./line-chart/line-chart.component";
|
|
7
|
+
import * as i6 from "./pie-chart/pie-chart.component";
|
|
8
|
+
import * as i7 from "@angular/common";
|
|
9
|
+
import * as i8 from "@clr/angular";
|
|
10
|
+
import * as i9 from "./chart-alert-overlay/chart-alert-overlay.component";
|
|
11
|
+
import * as i10 from "./chart-export/chart-export-button.component";
|
|
12
|
+
import * as i11 from "./chart-legend/chart-legend.component";
|
|
13
|
+
import * as i12 from "./shared/chart-skeleton.component";
|
|
14
|
+
import * as i13 from "./chart-tooltip/chart-tooltip.component";
|
|
15
|
+
import * as i14 from "./directives/outside-click.directive";
|
|
16
|
+
import * as i15 from "./directives/window-resize.directive";
|
|
17
|
+
export declare class ClrChartsModule {
|
|
18
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ClrChartsModule, never>;
|
|
19
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ClrChartsModule, [typeof i1.AreaChartComponent, typeof i2.BarChartComponent, typeof i3.ComboChartComponent, typeof i4.FunnelChartComponent, typeof i5.LineChartComponent, typeof i6.PieChartComponent], [typeof i7.CommonModule, typeof i7.DecimalPipe, typeof i8.ClrAlertModule, typeof i8.ClrIconModule, typeof i8.ClrSignpostModule, typeof i9.ChartAlertOverlayComponent, typeof i10.ChartExportButtonComponent, typeof i11.ChartLegendComponent, typeof i12.ChartSkeletonComponent, typeof i13.ChartTooltipComponent, typeof i14.OutsideClickDirective, typeof i15.WindowResizeDirective], [typeof i1.AreaChartComponent, typeof i2.BarChartComponent, typeof i3.ComboChartComponent, typeof i4.FunnelChartComponent, typeof i5.LineChartComponent, typeof i6.PieChartComponent]>;
|
|
20
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<ClrChartsModule>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { ChartLegendItem } from '../chart-legend/chart-legend.component';
|
|
3
|
+
import { ChartBase } from '../shared/chart-base';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export interface ComboBarPoint {
|
|
6
|
+
/** X category key (must match keys used in line data). */
|
|
7
|
+
x: string;
|
|
8
|
+
/** Optional display label for the X-axis tick. */
|
|
9
|
+
xLabel?: string;
|
|
10
|
+
value: number;
|
|
11
|
+
}
|
|
12
|
+
export interface ComboBarSeries {
|
|
13
|
+
key: string;
|
|
14
|
+
label: string;
|
|
15
|
+
color: string;
|
|
16
|
+
data: ComboBarPoint[];
|
|
17
|
+
}
|
|
18
|
+
export interface ComboLinePoint {
|
|
19
|
+
x: string;
|
|
20
|
+
value: number;
|
|
21
|
+
}
|
|
22
|
+
export interface ComboLineSeries {
|
|
23
|
+
key: string;
|
|
24
|
+
label: string;
|
|
25
|
+
color: string;
|
|
26
|
+
data: ComboLinePoint[];
|
|
27
|
+
}
|
|
28
|
+
/** Emitted when the user clicks a bar segment or a line dot. */
|
|
29
|
+
export interface ComboChartValue {
|
|
30
|
+
seriesKey: string;
|
|
31
|
+
seriesLabel: string;
|
|
32
|
+
seriesType: 'bar' | 'line';
|
|
33
|
+
x: string;
|
|
34
|
+
xLabel?: string;
|
|
35
|
+
value: number;
|
|
36
|
+
}
|
|
37
|
+
interface SelectedComboItem {
|
|
38
|
+
seriesKey: string;
|
|
39
|
+
seriesLabel: string;
|
|
40
|
+
seriesType: 'bar' | 'line';
|
|
41
|
+
color: string;
|
|
42
|
+
x: string;
|
|
43
|
+
xLabel?: string;
|
|
44
|
+
value: number;
|
|
45
|
+
total: number;
|
|
46
|
+
}
|
|
47
|
+
export declare class ComboChartComponent extends ChartBase<SelectedComboItem> implements OnChanges {
|
|
48
|
+
readonly barSeries: import("@angular/core").InputSignal<ComboBarSeries[]>;
|
|
49
|
+
readonly lineSeries: import("@angular/core").InputSignal<ComboLineSeries[]>;
|
|
50
|
+
readonly tooltipOrientation: import("@angular/core").InputSignal<"top" | "bottom">;
|
|
51
|
+
readonly showLegend: import("@angular/core").InputSignal<boolean>;
|
|
52
|
+
readonly showExportButton: import("@angular/core").InputSignal<boolean>;
|
|
53
|
+
readonly exportFilename: import("@angular/core").InputSignal<string>;
|
|
54
|
+
readonly noItemsMessage: import("@angular/core").InputSignal<string>;
|
|
55
|
+
readonly tooltipPercentOfTotal: import("@angular/core").InputSignal<string>;
|
|
56
|
+
/** Optional label rendered below the X axis. */
|
|
57
|
+
readonly xAxisLabel: import("@angular/core").InputSignal<string>;
|
|
58
|
+
/** Optional label rendered rotated to the left of the Y axis (bar scale). */
|
|
59
|
+
readonly yAxisLabel: import("@angular/core").InputSignal<string>;
|
|
60
|
+
/** Optional label rendered rotated to the right of the Y axis (line scale). */
|
|
61
|
+
readonly yLineAxisLabel: import("@angular/core").InputSignal<string>;
|
|
62
|
+
readonly valueClicked: import("@angular/core").OutputEmitterRef<ComboChartValue>;
|
|
63
|
+
private readonly MARGIN;
|
|
64
|
+
protected readonly hasData: import("@angular/core").Signal<boolean>;
|
|
65
|
+
protected readonly total: import("@angular/core").Signal<number>;
|
|
66
|
+
readonly alertMessageAndType: import("@angular/core").Signal<[string, string]>;
|
|
67
|
+
readonly legendItems: import("@angular/core").Signal<ChartLegendItem[]>;
|
|
68
|
+
private svg;
|
|
69
|
+
ngOnChanges(_changes: SimpleChanges): void;
|
|
70
|
+
ngAfterViewInit(): void;
|
|
71
|
+
protected updateChart(): void;
|
|
72
|
+
private drawBars;
|
|
73
|
+
private drawLines;
|
|
74
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ComboChartComponent, never>;
|
|
75
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ComboChartComponent, "clr-combo-chart", never, { "barSeries": { "alias": "barSeries"; "required": false; "isSignal": true; }; "lineSeries": { "alias": "lineSeries"; "required": false; "isSignal": true; }; "tooltipOrientation": { "alias": "tooltipOrientation"; "required": false; "isSignal": true; }; "showLegend": { "alias": "showLegend"; "required": false; "isSignal": true; }; "showExportButton": { "alias": "showExportButton"; "required": false; "isSignal": true; }; "exportFilename": { "alias": "exportFilename"; "required": false; "isSignal": true; }; "noItemsMessage": { "alias": "noItemsMessage"; "required": false; "isSignal": true; }; "tooltipPercentOfTotal": { "alias": "tooltipPercentOfTotal"; "required": false; "isSignal": true; }; "xAxisLabel": { "alias": "xAxisLabel"; "required": false; "isSignal": true; }; "yAxisLabel": { "alias": "yAxisLabel"; "required": false; "isSignal": true; }; "yLineAxisLabel": { "alias": "yLineAxisLabel"; "required": false; "isSignal": true; }; }, { "valueClicked": "valueClicked"; }, never, never, false, never>;
|
|
76
|
+
}
|
|
77
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const TOO_MANY_ITEMS_MESSAGE = "too many items";
|
|
2
|
+
export declare const TOO_MANY_ITEMS_GROUPED_MESSAGE = "too many items";
|
|
3
|
+
export declare const TOO_MANY_ITEMS_ALERT_TYPE = "warning";
|
|
4
|
+
export declare const NO_ITEMS_MESSAGE = "no items";
|
|
5
|
+
export declare const NO_ITEMS_ALERT_TYPE = "info";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './alert-message-constants';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class AutoPositionDirective implements OnInit, OnDestroy {
|
|
4
|
+
private readonly signpostContent;
|
|
5
|
+
private readonly elementRef;
|
|
6
|
+
private resizeObserver?;
|
|
7
|
+
private trigger?;
|
|
8
|
+
ngOnInit(): void;
|
|
9
|
+
private readonly handleMouseDown;
|
|
10
|
+
private updatePosition;
|
|
11
|
+
private getBestPosition;
|
|
12
|
+
private hasSpace;
|
|
13
|
+
ngOnDestroy(): void;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AutoPositionDirective, never>;
|
|
15
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AutoPositionDirective, "clr-signpost-content[autoPosition]", never, {}, {}, never, never, true, never>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AfterViewInit } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class OutsideClickDirective implements AfterViewInit {
|
|
4
|
+
readonly outsideClick: import("@angular/core").OutputEmitterRef<void>;
|
|
5
|
+
private readonly renderer;
|
|
6
|
+
private readonly destroyRef;
|
|
7
|
+
ngAfterViewInit(): void;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<OutsideClickDirective, never>;
|
|
9
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<OutsideClickDirective, "[cngOutsideClick]", never, {}, { "outsideClick": "cngOutsideClick"; }, never, never, true, never>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Enum for the Screen size in pixels, defined by clarity here https://vmware.github.io/clarity/documentation/v0.12/grid
|
|
5
|
+
* We consider screens above 1200px to be a desktop, between 576px and 1199px to be a tablet and below 576px to be a phone.
|
|
6
|
+
*/
|
|
7
|
+
export declare enum ScreenWidth {
|
|
8
|
+
EXTRA_LARGE = 1200,
|
|
9
|
+
LARGE = 992,
|
|
10
|
+
MEDIUM = 768,
|
|
11
|
+
SMALL = 576,
|
|
12
|
+
EXTRA_SMALL = 575
|
|
13
|
+
}
|
|
14
|
+
export declare enum ScreenOrientation {
|
|
15
|
+
PORTRAIT = "PORTRAIT",
|
|
16
|
+
LANDSCAPE = "LANDSCAPE"
|
|
17
|
+
}
|
|
18
|
+
export declare const DATEPICKER_ENABLE_BREAKPOINT = 768;
|
|
19
|
+
export declare const MOBILE_USERAGENT_REGEX: RegExp;
|
|
20
|
+
export declare class ScreenStateService {
|
|
21
|
+
private _document;
|
|
22
|
+
private screenOrientation;
|
|
23
|
+
private isUserAgentMobile;
|
|
24
|
+
private screenWidthSubject;
|
|
25
|
+
private screenOrientationSubject;
|
|
26
|
+
constructor(_document: Document);
|
|
27
|
+
getScreenWidthChanged(): Observable<number>;
|
|
28
|
+
getMobileStateChanged(): Observable<boolean>;
|
|
29
|
+
getScreenOrientationChanged(): Observable<ScreenOrientation>;
|
|
30
|
+
private onResize;
|
|
31
|
+
private onOrientationChange;
|
|
32
|
+
private determineMobileUserAgent;
|
|
33
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ScreenStateService, never>;
|
|
34
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ScreenStateService>;
|
|
35
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AfterContentInit } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class TenantFullDateRangeDirective implements AfterContentInit {
|
|
4
|
+
private readonly start;
|
|
5
|
+
private readonly end;
|
|
6
|
+
ngAfterContentInit(): void;
|
|
7
|
+
private toTenantDateTime;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TenantFullDateRangeDirective, never>;
|
|
9
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TenantFullDateRangeDirective, "clr-date-range-container[cngTenantFullDateRange]", never, {}, {}, ["start", "end"], never, true, never>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class WindowResizeDirective implements OnInit {
|
|
4
|
+
readonly debounce: import("@angular/core").InputSignal<number>;
|
|
5
|
+
readonly includeFirst: import("@angular/core").InputSignal<boolean>;
|
|
6
|
+
readonly windowResize: import("@angular/core").OutputEmitterRef<number>;
|
|
7
|
+
private readonly screenStateService;
|
|
8
|
+
private readonly destroyRef;
|
|
9
|
+
ngOnInit(): void;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WindowResizeDirective, never>;
|
|
11
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<WindowResizeDirective, "[cngWindowResize]", never, { "debounce": { "alias": "debounce"; "required": false; "isSignal": true; }; "includeFirst": { "alias": "includeFirst"; "required": false; "isSignal": true; }; }, { "windowResize": "cngWindowResize"; }, never, never, true, never>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { ChartBase } from '../shared/chart-base';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export interface FunnelChartSection {
|
|
5
|
+
key: string;
|
|
6
|
+
label: string;
|
|
7
|
+
value: number;
|
|
8
|
+
/** Hex value ('#009ADB') or CSS custom property ('--cds-global-color-blue-800'). */
|
|
9
|
+
color?: string;
|
|
10
|
+
/** Text color rendered inside this section. */
|
|
11
|
+
textColor?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface FunnelChartData {
|
|
14
|
+
key: string;
|
|
15
|
+
label: string;
|
|
16
|
+
fullLabel?: string;
|
|
17
|
+
description?: string;
|
|
18
|
+
value: number;
|
|
19
|
+
/** Optional breakdown of the bar into named segments. Values should sum to `value`. */
|
|
20
|
+
sections?: FunnelChartSection[];
|
|
21
|
+
}
|
|
22
|
+
export interface FunnelValue {
|
|
23
|
+
value: number;
|
|
24
|
+
label: string;
|
|
25
|
+
key: string;
|
|
26
|
+
/** Key of the clicked section, or `undefined` when the whole bar was clicked. */
|
|
27
|
+
section?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface FunnelChartLabels {
|
|
30
|
+
total: string;
|
|
31
|
+
all: string;
|
|
32
|
+
}
|
|
33
|
+
interface FunnelDataPointSection {
|
|
34
|
+
key: string;
|
|
35
|
+
label: string;
|
|
36
|
+
x: number;
|
|
37
|
+
width: number;
|
|
38
|
+
value: number;
|
|
39
|
+
percentage: number;
|
|
40
|
+
cssColor: string;
|
|
41
|
+
hoverColor: string;
|
|
42
|
+
textColor: string;
|
|
43
|
+
}
|
|
44
|
+
interface FunnelDataPoint {
|
|
45
|
+
key: string;
|
|
46
|
+
label: string;
|
|
47
|
+
fullLabel?: string;
|
|
48
|
+
description?: string;
|
|
49
|
+
value: number;
|
|
50
|
+
y: number;
|
|
51
|
+
width: number;
|
|
52
|
+
percentage: number;
|
|
53
|
+
delta?: number;
|
|
54
|
+
deltaPercentage?: number;
|
|
55
|
+
sections: FunnelDataPointSection[];
|
|
56
|
+
}
|
|
57
|
+
interface SectionTooltipData {
|
|
58
|
+
key: string;
|
|
59
|
+
x?: number;
|
|
60
|
+
y?: number;
|
|
61
|
+
description?: string;
|
|
62
|
+
}
|
|
63
|
+
interface SpacerDataPoint {
|
|
64
|
+
index: number;
|
|
65
|
+
topWidth: number;
|
|
66
|
+
bottomWidth: number;
|
|
67
|
+
topY: number;
|
|
68
|
+
bottomY: number;
|
|
69
|
+
topX: number;
|
|
70
|
+
bottomX: number;
|
|
71
|
+
deltaPercentage: number;
|
|
72
|
+
}
|
|
73
|
+
export declare class FunnelChartComponent extends ChartBase<FunnelDataPoint> implements OnChanges {
|
|
74
|
+
readonly data: import("@angular/core").InputSignal<FunnelChartData[]>;
|
|
75
|
+
readonly showExportButton: import("@angular/core").InputSignal<boolean>;
|
|
76
|
+
readonly exportFilename: import("@angular/core").InputSignal<string>;
|
|
77
|
+
/** Rendering mode. 'default' = horizontal bars with sections; 'centered' = centered trapezoid funnel. */
|
|
78
|
+
readonly orientation: import("@angular/core").InputSignal<"default" | "centered">;
|
|
79
|
+
/** Width reserved on each side for labels (px). */
|
|
80
|
+
readonly textSize: import("@angular/core").InputSignal<number>;
|
|
81
|
+
/** Gap between funnel bars and their side-line labels (px). */
|
|
82
|
+
readonly lineTextPadding: import("@angular/core").InputSignal<number>;
|
|
83
|
+
/** Vertical gap between funnel bars – default mode only (px). */
|
|
84
|
+
readonly barGap: import("@angular/core").InputSignal<number>;
|
|
85
|
+
/** Vertical padding inside the side measurement lines (px). */
|
|
86
|
+
readonly sideLineVerticalPadding: import("@angular/core").InputSignal<number>;
|
|
87
|
+
/** Minimum length of the horizontal measurement lines on each side (px). Centered mode only. */
|
|
88
|
+
readonly minLineSize: import("@angular/core").InputSignal<number>;
|
|
89
|
+
/** Ratio of bar height to spacer height. Centered mode only. */
|
|
90
|
+
readonly barToSpacerRatio: import("@angular/core").InputSignal<number>;
|
|
91
|
+
/** Vertical padding inside the center divider lines (px). Centered mode only. */
|
|
92
|
+
readonly middleLineVerticalPadding: import("@angular/core").InputSignal<number>;
|
|
93
|
+
/** Fill color of the centered-mode bars. Accepts hex or CSS custom property. Centered mode only. */
|
|
94
|
+
readonly barColor: import("@angular/core").InputSignal<string>;
|
|
95
|
+
/** Fill color of the trapezoid spacers. Accepts hex or CSS custom property. Centered mode only. */
|
|
96
|
+
readonly spacerColor: import("@angular/core").InputSignal<string>;
|
|
97
|
+
/**
|
|
98
|
+
* Override the chart labels shown in the tooltip (total / all rows).
|
|
99
|
+
* Partial – any key not provided falls back to the English default.
|
|
100
|
+
*/
|
|
101
|
+
readonly chartLabels: import("@angular/core").InputSignal<Partial<FunnelChartLabels>>;
|
|
102
|
+
/**
|
|
103
|
+
* Override section colors by section key.
|
|
104
|
+
* Accepts hex values ('#009ADB') or CSS custom properties ('--cds-global-color-blue-800').
|
|
105
|
+
* Per-section `color` in the data takes priority over this map; this map takes priority over
|
|
106
|
+
* the built-in default palette.
|
|
107
|
+
*/
|
|
108
|
+
readonly sectionColors: import("@angular/core").InputSignal<Record<string, string>>;
|
|
109
|
+
readonly valueClicked: import("@angular/core").OutputEmitterRef<FunnelValue>;
|
|
110
|
+
protected readonly resolvedChartLabels: import("@angular/core").Signal<FunnelChartLabels>;
|
|
111
|
+
/** CSS-ready color for the centered-mode bar. */
|
|
112
|
+
protected readonly centeredBarCssColor: import("@angular/core").Signal<string>;
|
|
113
|
+
/** CSS-ready spacer color. */
|
|
114
|
+
protected readonly centeredSpacerCssColor: import("@angular/core").Signal<string>;
|
|
115
|
+
protected readonly total: import("@angular/core").Signal<number>;
|
|
116
|
+
protected readonly hasData: import("@angular/core").Signal<boolean>;
|
|
117
|
+
protected readonly selectedItemLabel: import("@angular/core").Signal<string>;
|
|
118
|
+
protected readonly selectedSpacerItem: import("@angular/core").WritableSignal<SpacerDataPoint>;
|
|
119
|
+
protected readonly sectionTooltips: import("@angular/core").WritableSignal<SectionTooltipData[]>;
|
|
120
|
+
private svg;
|
|
121
|
+
ngOnChanges(_changes: SimpleChanges): void;
|
|
122
|
+
ngAfterViewInit(): void;
|
|
123
|
+
protected updateChart(): void;
|
|
124
|
+
private calculateDataPoints;
|
|
125
|
+
private renderRightSideText;
|
|
126
|
+
private renderLeftSideText;
|
|
127
|
+
private renderSideLines;
|
|
128
|
+
private renderSideLine;
|
|
129
|
+
private renderFunnel;
|
|
130
|
+
private handleSectionClick;
|
|
131
|
+
resetTooltip(): void;
|
|
132
|
+
/** Formats a percentage to 2 decimal places for template use. */
|
|
133
|
+
protected pct(value: number, total: number): number;
|
|
134
|
+
private renderCenteredChart;
|
|
135
|
+
private calculateCenteredDataPoints;
|
|
136
|
+
private calculateSpacerDataPoints;
|
|
137
|
+
private renderCenteredLeftSideText;
|
|
138
|
+
private renderCenteredLeftSideLines;
|
|
139
|
+
private renderCenteredRightSideText;
|
|
140
|
+
private renderCenteredRightSideLines;
|
|
141
|
+
private renderCenteredMiddleLines;
|
|
142
|
+
private renderCenteredFunnel;
|
|
143
|
+
private getMaxFunnelWidth;
|
|
144
|
+
private getCenteredFractionHeight;
|
|
145
|
+
private getCenteredBarHeight;
|
|
146
|
+
private getCenteredSpacerHeight;
|
|
147
|
+
private getFunnelWidth;
|
|
148
|
+
private getBarHeight;
|
|
149
|
+
private round;
|
|
150
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FunnelChartComponent, never>;
|
|
151
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FunnelChartComponent, "clr-funnel-chart", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "showExportButton": { "alias": "showExportButton"; "required": false; "isSignal": true; }; "exportFilename": { "alias": "exportFilename"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "textSize": { "alias": "textSize"; "required": false; "isSignal": true; }; "lineTextPadding": { "alias": "lineTextPadding"; "required": false; "isSignal": true; }; "barGap": { "alias": "barGap"; "required": false; "isSignal": true; }; "sideLineVerticalPadding": { "alias": "sideLineVerticalPadding"; "required": false; "isSignal": true; }; "minLineSize": { "alias": "minLineSize"; "required": false; "isSignal": true; }; "barToSpacerRatio": { "alias": "barToSpacerRatio"; "required": false; "isSignal": true; }; "middleLineVerticalPadding": { "alias": "middleLineVerticalPadding"; "required": false; "isSignal": true; }; "barColor": { "alias": "barColor"; "required": false; "isSignal": true; }; "spacerColor": { "alias": "spacerColor"; "required": false; "isSignal": true; }; "chartLabels": { "alias": "chartLabels"; "required": false; "isSignal": true; }; "sectionColors": { "alias": "sectionColors"; "required": false; "isSignal": true; }; }, { "valueClicked": "valueClicked"; }, never, never, false, never>;
|
|
152
|
+
}
|
|
153
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './shared/xy-chart.types';
|
|
2
|
+
export * from './bar-chart/bar-chart.component';
|
|
3
|
+
export * from './line-chart/line-chart.component';
|
|
4
|
+
export * from './area-chart/area-chart.component';
|
|
5
|
+
export * from './combo-chart/combo-chart.component';
|
|
6
|
+
export * from './pie-chart/pie-chart.component';
|
|
7
|
+
export * from './funnel-chart/funnel-chart.component';
|
|
8
|
+
export * from './charts.module';
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { ChartLegendItem } from '../chart-legend/chart-legend.component';
|
|
3
|
+
import { XYChartPoint, XYChartSeries, XYChartValue } from '../shared/xy-chart.types';
|
|
4
|
+
import { ChartBase } from '../shared/chart-base';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export type { XYChartPoint as LineChartPoint, XYChartSeries as LineChartSeries, XYChartValue as LineChartValue, } from '../shared/xy-chart.types';
|
|
7
|
+
type LineChartSelectedPoint = XYChartPoint & {
|
|
8
|
+
seriesKey: string;
|
|
9
|
+
seriesLabel: string;
|
|
10
|
+
color: string;
|
|
11
|
+
};
|
|
12
|
+
export declare class LineChartComponent extends ChartBase<LineChartSelectedPoint> implements OnChanges {
|
|
13
|
+
readonly series: import("@angular/core").InputSignal<XYChartSeries[]>;
|
|
14
|
+
readonly tooltipOrientation: import("@angular/core").InputSignal<"top" | "bottom">;
|
|
15
|
+
readonly showArea: import("@angular/core").InputSignal<boolean>;
|
|
16
|
+
readonly showLegend: import("@angular/core").InputSignal<boolean>;
|
|
17
|
+
readonly showValues: import("@angular/core").InputSignal<boolean>;
|
|
18
|
+
readonly showExportButton: import("@angular/core").InputSignal<boolean>;
|
|
19
|
+
readonly exportFilename: import("@angular/core").InputSignal<string>;
|
|
20
|
+
readonly noItemsMessage: import("@angular/core").InputSignal<string>;
|
|
21
|
+
readonly tooltipPercentOfTotal: import("@angular/core").InputSignal<string>;
|
|
22
|
+
/** Optional label rendered below the X axis. */
|
|
23
|
+
readonly xAxisLabel: import("@angular/core").InputSignal<string>;
|
|
24
|
+
/** Optional label rendered rotated to the left of the Y axis. */
|
|
25
|
+
readonly yAxisLabel: import("@angular/core").InputSignal<string>;
|
|
26
|
+
readonly valueClicked: import("@angular/core").OutputEmitterRef<XYChartValue>;
|
|
27
|
+
private readonly MARGIN;
|
|
28
|
+
protected readonly hasData: import("@angular/core").Signal<boolean>;
|
|
29
|
+
protected readonly total: import("@angular/core").Signal<number>;
|
|
30
|
+
readonly alertMessageAndType: import("@angular/core").Signal<[string, string]>;
|
|
31
|
+
readonly legendItems: import("@angular/core").Signal<ChartLegendItem[]>;
|
|
32
|
+
private svg;
|
|
33
|
+
ngOnChanges(_changes: SimpleChanges): void;
|
|
34
|
+
ngAfterViewInit(): void;
|
|
35
|
+
protected updateChart(): void;
|
|
36
|
+
private drawSeries;
|
|
37
|
+
private openTooltip;
|
|
38
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LineChartComponent, never>;
|
|
39
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LineChartComponent, "clr-line-chart", never, { "series": { "alias": "series"; "required": true; "isSignal": true; }; "tooltipOrientation": { "alias": "tooltipOrientation"; "required": false; "isSignal": true; }; "showArea": { "alias": "showArea"; "required": false; "isSignal": true; }; "showLegend": { "alias": "showLegend"; "required": false; "isSignal": true; }; "showValues": { "alias": "showValues"; "required": false; "isSignal": true; }; "showExportButton": { "alias": "showExportButton"; "required": false; "isSignal": true; }; "exportFilename": { "alias": "exportFilename"; "required": false; "isSignal": true; }; "noItemsMessage": { "alias": "noItemsMessage"; "required": false; "isSignal": true; }; "tooltipPercentOfTotal": { "alias": "tooltipPercentOfTotal"; "required": false; "isSignal": true; }; "xAxisLabel": { "alias": "xAxisLabel"; "required": false; "isSignal": true; }; "yAxisLabel": { "alias": "yAxisLabel"; "required": false; "isSignal": true; }; }, { "valueClicked": "valueClicked"; }, never, never, false, never>;
|
|
40
|
+
}
|