@acorex/charts 21.0.0-next.10 → 21.0.0-next.12
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/bar-chart/index.d.ts +9 -5
- package/donut-chart/index.d.ts +4 -5
- package/fesm2022/acorex-charts-bar-chart.mjs +96 -17
- package/fesm2022/acorex-charts-bar-chart.mjs.map +1 -1
- package/fesm2022/acorex-charts-donut-chart.mjs +6 -11
- package/fesm2022/acorex-charts-donut-chart.mjs.map +1 -1
- package/fesm2022/acorex-charts-gauge-chart.mjs +13 -12
- package/fesm2022/acorex-charts-gauge-chart.mjs.map +1 -1
- package/fesm2022/acorex-charts-hierarchy-chart.mjs +19 -13
- package/fesm2022/acorex-charts-hierarchy-chart.mjs.map +1 -1
- package/fesm2022/acorex-charts-line-chart.mjs +7 -17
- package/fesm2022/acorex-charts-line-chart.mjs.map +1 -1
- package/fesm2022/acorex-charts.mjs +71 -7
- package/fesm2022/acorex-charts.mjs.map +1 -1
- package/gauge-chart/index.d.ts +6 -6
- package/hierarchy-chart/index.d.ts +4 -5
- package/index.d.ts +39 -4
- package/line-chart/index.d.ts +4 -6
- package/package.json +1 -3
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { InjectionToken, inject, ElementRef, signal, afterNextRender, Directive } from '@angular/core';
|
|
2
3
|
|
|
3
4
|
// Default color palette for charts
|
|
4
5
|
const AX_CHART_COLOR_PALETTE = new InjectionToken('AX_CHART_COLOR_PALETTE', {
|
|
@@ -48,8 +49,42 @@ function getChartColor(index, palette) {
|
|
|
48
49
|
}
|
|
49
50
|
|
|
50
51
|
/**
|
|
51
|
-
*
|
|
52
|
-
*
|
|
52
|
+
* Base component class for all chart components
|
|
53
|
+
* Copied from @acorex/cdk/common NXComponent to remove external dependency
|
|
54
|
+
*/
|
|
55
|
+
class AXChartComponent {
|
|
56
|
+
#elementRef = inject(ElementRef);
|
|
57
|
+
#isRendered = signal(false, ...(ngDevMode ? [{ debugName: "#isRendered" }] : []));
|
|
58
|
+
isRendered = this.#isRendered.asReadonly();
|
|
59
|
+
#afterNextRender = afterNextRender(() => {
|
|
60
|
+
if (!this.isRendered()) {
|
|
61
|
+
this.nativeElement['__axContext__'] = this;
|
|
62
|
+
this.#isRendered.set(true);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
/**
|
|
66
|
+
* Gets the native HTML element of the component
|
|
67
|
+
*/
|
|
68
|
+
get nativeElement() {
|
|
69
|
+
return this.#elementRef.nativeElement;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Gets the host HTML element of the component (alias for nativeElement)
|
|
73
|
+
* @returns T - The native DOM element associated with this component
|
|
74
|
+
*/
|
|
75
|
+
getHostElement() {
|
|
76
|
+
return this.#elementRef.nativeElement;
|
|
77
|
+
}
|
|
78
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
79
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: AXChartComponent, isStandalone: true, ngImport: i0 });
|
|
80
|
+
}
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXChartComponent, decorators: [{
|
|
82
|
+
type: Directive
|
|
83
|
+
}] });
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Compute edge-aware tooltip position with intelligent placement,
|
|
87
|
+
* considering available space in all directions and preventing overflow.
|
|
53
88
|
*/
|
|
54
89
|
function computeTooltipPosition(containerRect, tooltipRect, clientX, clientY, gap) {
|
|
55
90
|
const cursorX = clientX - containerRect.left;
|
|
@@ -60,12 +95,41 @@ function computeTooltipPosition(containerRect, tooltipRect, clientX, clientY, ga
|
|
|
60
95
|
y: Math.max(gap, Math.min(cursorY, containerRect.height - gap)),
|
|
61
96
|
};
|
|
62
97
|
}
|
|
63
|
-
|
|
64
|
-
|
|
98
|
+
// Calculate available space in each direction
|
|
99
|
+
const spaceRight = containerRect.width - cursorX;
|
|
100
|
+
const spaceLeft = cursorX;
|
|
101
|
+
const spaceBelow = containerRect.height - cursorY;
|
|
102
|
+
const spaceAbove = cursorY;
|
|
103
|
+
// Determine best horizontal position
|
|
104
|
+
let x;
|
|
105
|
+
if (spaceRight >= tooltipRect.width + gap) {
|
|
106
|
+
// Position to the right of cursor
|
|
107
|
+
x = cursorX + gap;
|
|
108
|
+
}
|
|
109
|
+
else if (spaceLeft >= tooltipRect.width + gap) {
|
|
110
|
+
// Position to the left of cursor
|
|
65
111
|
x = cursorX - tooltipRect.width - gap;
|
|
66
112
|
}
|
|
113
|
+
else {
|
|
114
|
+
// Center horizontally if neither side has enough space
|
|
115
|
+
x = Math.max(gap, Math.min((containerRect.width - tooltipRect.width) / 2, containerRect.width - tooltipRect.width - gap));
|
|
116
|
+
}
|
|
117
|
+
// Determine best vertical position
|
|
118
|
+
let y;
|
|
119
|
+
if (spaceBelow >= tooltipRect.height + gap) {
|
|
120
|
+
// Position below cursor
|
|
121
|
+
y = cursorY + gap;
|
|
122
|
+
}
|
|
123
|
+
else if (spaceAbove >= tooltipRect.height + gap) {
|
|
124
|
+
// Position above cursor
|
|
125
|
+
y = cursorY - tooltipRect.height - gap;
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
// Center vertically if neither direction has enough space
|
|
129
|
+
y = Math.max(gap, Math.min((containerRect.height - tooltipRect.height) / 2, containerRect.height - tooltipRect.height - gap));
|
|
130
|
+
}
|
|
131
|
+
// Ensure tooltip stays within container bounds
|
|
67
132
|
x = Math.max(gap, Math.min(x, containerRect.width - tooltipRect.width - gap));
|
|
68
|
-
let y = cursorY - tooltipRect.height / 2;
|
|
69
133
|
y = Math.max(gap, Math.min(y, containerRect.height - tooltipRect.height - gap));
|
|
70
134
|
return { x, y };
|
|
71
135
|
}
|
|
@@ -108,5 +172,5 @@ const AX_CHARTS = 'ACOREX_CHARTS';
|
|
|
108
172
|
* Generated bundle index. Do not edit.
|
|
109
173
|
*/
|
|
110
174
|
|
|
111
|
-
export { AX_CHARTS, AX_CHART_COLOR_PALETTE, computeTooltipPosition, getChartColor, getEasingFunction, mapEasingName };
|
|
175
|
+
export { AXChartComponent, AX_CHARTS, AX_CHART_COLOR_PALETTE, computeTooltipPosition, getChartColor, getEasingFunction, mapEasingName };
|
|
112
176
|
//# sourceMappingURL=acorex-charts.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-charts.mjs","sources":["../tmp-esm2022/lib/chart-colors.js","../tmp-esm2022/lib/chart-utils.js","../tmp-esm2022/index.js","../tmp-esm2022/acorex-charts.js"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n// Default color palette for charts\nexport const AX_CHART_COLOR_PALETTE = new InjectionToken('AX_CHART_COLOR_PALETTE', {\n providedIn: 'root',\n factory: () => [\n '#FF6B6B', // Vibrant Red\n '#4ECDC4', // Electric Teal\n '#45B7D1', // Bright Blue\n '#96CEB4', // Fresh Green\n '#FFEEAD', // Bright Yellow\n '#D4A5A5', // Rose Pink\n '#9B59B6', // Rich Purple\n '#3498DB', // Deep Blue\n '#E67E22', // Bright Orange\n '#2ECC71', // Emerald Green\n '#E74C3C', // Cherry Red\n '#1ABC9C', // Turquoise\n '#F1C40F', // Golden Yellow\n '#8E44AD', // Deep Purple\n '#16A085', // Dark Teal\n // --- Extended Colors (new) ---\n '#27AE60', // Forest Green\n '#2980B9', // Strong Blue\n '#F39C12', // Vivid Orange\n '#C0392B', // Dark Red\n '#7D3C98', // Plum Purple\n '#2C3E50', // Midnight Blue\n '#D35400', // Burnt Orange\n '#BDC3C7', // Soft Silver\n '#34495E', // Slate Gray\n '#1F618D', // Royal Blue\n '#58D68D', // Mint Green\n '#5DADE2', // Sky Blue\n '#F1948A', // Soft Coral\n '#A569BD', // Lavender Purple\n '#F8C471', // Warm Gold\n ],\n});\n/**\n * Helper function to get a color from the palette by index\n * @param index The index of the color to get\n * @param palette The color palette to use\n * @returns The color at the specified index\n */\nexport function getChartColor(index, palette) {\n return palette[index % palette.length];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtY29sb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2hhcnRzL3NyYy9saWIvY2hhcnQtY29sb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsbUNBQW1DO0FBQ25DLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksY0FBYyxDQUN0RCx3QkFBd0IsRUFDeEI7SUFDRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixTQUFTLEVBQUUsY0FBYztRQUN6QixTQUFTLEVBQUUsZ0JBQWdCO1FBQzNCLFNBQVMsRUFBRSxjQUFjO1FBQ3pCLFNBQVMsRUFBRSxjQUFjO1FBQ3pCLFNBQVMsRUFBRSxnQkFBZ0I7UUFDM0IsU0FBUyxFQUFFLFlBQVk7UUFDdkIsU0FBUyxFQUFFLGNBQWM7UUFDekIsU0FBUyxFQUFFLFlBQVk7UUFDdkIsU0FBUyxFQUFFLGdCQUFnQjtRQUMzQixTQUFTLEVBQUUsZ0JBQWdCO1FBQzNCLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLFNBQVMsRUFBRSxZQUFZO1FBQ3ZCLFNBQVMsRUFBRSxnQkFBZ0I7UUFDM0IsU0FBUyxFQUFFLGNBQWM7UUFDekIsU0FBUyxFQUFFLFlBQVk7UUFFdkIsZ0NBQWdDO1FBQ2hDLFNBQVMsRUFBRSxlQUFlO1FBQzFCLFNBQVMsRUFBRSxjQUFjO1FBQ3pCLFNBQVMsRUFBRSxlQUFlO1FBQzFCLFNBQVMsRUFBRSxXQUFXO1FBQ3RCLFNBQVMsRUFBRSxjQUFjO1FBQ3pCLFNBQVMsRUFBRSxnQkFBZ0I7UUFDM0IsU0FBUyxFQUFFLGVBQWU7UUFDMUIsU0FBUyxFQUFFLGNBQWM7UUFDekIsU0FBUyxFQUFFLGFBQWE7UUFDeEIsU0FBUyxFQUFFLGFBQWE7UUFDeEIsU0FBUyxFQUFFLGFBQWE7UUFDeEIsU0FBUyxFQUFFLFdBQVc7UUFDdEIsU0FBUyxFQUFFLGFBQWE7UUFDeEIsU0FBUyxFQUFFLGtCQUFrQjtRQUM3QixTQUFTLEVBQUUsWUFBWTtLQUN4QjtDQUNGLENBQ0YsQ0FBQztBQUdGOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFhLEVBQUUsT0FBaUI7SUFDNUQsT0FBTyxPQUFPLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLy8gRGVmYXVsdCBjb2xvciBwYWxldHRlIGZvciBjaGFydHNcbmV4cG9ydCBjb25zdCBBWF9DSEFSVF9DT0xPUl9QQUxFVFRFID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZ1tdPihcbiAgJ0FYX0NIQVJUX0NPTE9SX1BBTEVUVEUnLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IFtcbiAgICAgICcjRkY2QjZCJywgLy8gVmlicmFudCBSZWRcbiAgICAgICcjNEVDREM0JywgLy8gRWxlY3RyaWMgVGVhbFxuICAgICAgJyM0NUI3RDEnLCAvLyBCcmlnaHQgQmx1ZVxuICAgICAgJyM5NkNFQjQnLCAvLyBGcmVzaCBHcmVlblxuICAgICAgJyNGRkVFQUQnLCAvLyBCcmlnaHQgWWVsbG93XG4gICAgICAnI0Q0QTVBNScsIC8vIFJvc2UgUGlua1xuICAgICAgJyM5QjU5QjYnLCAvLyBSaWNoIFB1cnBsZVxuICAgICAgJyMzNDk4REInLCAvLyBEZWVwIEJsdWVcbiAgICAgICcjRTY3RTIyJywgLy8gQnJpZ2h0IE9yYW5nZVxuICAgICAgJyMyRUNDNzEnLCAvLyBFbWVyYWxkIEdyZWVuXG4gICAgICAnI0U3NEMzQycsIC8vIENoZXJyeSBSZWRcbiAgICAgICcjMUFCQzlDJywgLy8gVHVycXVvaXNlXG4gICAgICAnI0YxQzQwRicsIC8vIEdvbGRlbiBZZWxsb3dcbiAgICAgICcjOEU0NEFEJywgLy8gRGVlcCBQdXJwbGVcbiAgICAgICcjMTZBMDg1JywgLy8gRGFyayBUZWFsXG5cbiAgICAgIC8vIC0tLSBFeHRlbmRlZCBDb2xvcnMgKG5ldykgLS0tXG4gICAgICAnIzI3QUU2MCcsIC8vIEZvcmVzdCBHcmVlblxuICAgICAgJyMyOTgwQjknLCAvLyBTdHJvbmcgQmx1ZVxuICAgICAgJyNGMzlDMTInLCAvLyBWaXZpZCBPcmFuZ2VcbiAgICAgICcjQzAzOTJCJywgLy8gRGFyayBSZWRcbiAgICAgICcjN0QzQzk4JywgLy8gUGx1bSBQdXJwbGVcbiAgICAgICcjMkMzRTUwJywgLy8gTWlkbmlnaHQgQmx1ZVxuICAgICAgJyNEMzU0MDAnLCAvLyBCdXJudCBPcmFuZ2VcbiAgICAgICcjQkRDM0M3JywgLy8gU29mdCBTaWx2ZXJcbiAgICAgICcjMzQ0OTVFJywgLy8gU2xhdGUgR3JheVxuICAgICAgJyMxRjYxOEQnLCAvLyBSb3lhbCBCbHVlXG4gICAgICAnIzU4RDY4RCcsIC8vIE1pbnQgR3JlZW5cbiAgICAgICcjNURBREUyJywgLy8gU2t5IEJsdWVcbiAgICAgICcjRjE5NDhBJywgLy8gU29mdCBDb3JhbFxuICAgICAgJyNBNTY5QkQnLCAvLyBMYXZlbmRlciBQdXJwbGVcbiAgICAgICcjRjhDNDcxJywgLy8gV2FybSBHb2xkXG4gICAgXSxcbiAgfVxuKTtcblxuXG4vKipcbiAqIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgYSBjb2xvciBmcm9tIHRoZSBwYWxldHRlIGJ5IGluZGV4XG4gKiBAcGFyYW0gaW5kZXggVGhlIGluZGV4IG9mIHRoZSBjb2xvciB0byBnZXRcbiAqIEBwYXJhbSBwYWxldHRlIFRoZSBjb2xvciBwYWxldHRlIHRvIHVzZVxuICogQHJldHVybnMgVGhlIGNvbG9yIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXhcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENoYXJ0Q29sb3IoaW5kZXg6IG51bWJlciwgcGFsZXR0ZTogc3RyaW5nW10pOiBzdHJpbmcge1xuICByZXR1cm4gcGFsZXR0ZVtpbmRleCAlIHBhbGV0dGUubGVuZ3RoXTtcbn1cbiJdfQ==","/**\n * Compute edge-aware tooltip position with right-first placement,\n * left fallback, vertical centering, and clamping within bounds.\n */\nexport function computeTooltipPosition(containerRect, tooltipRect, clientX, clientY, gap) {\n const cursorX = clientX - containerRect.left;\n const cursorY = clientY - containerRect.top;\n if (!tooltipRect) {\n return {\n x: Math.min(cursorX + gap, containerRect.width - gap),\n y: Math.max(gap, Math.min(cursorY, containerRect.height - gap)),\n };\n }\n let x = cursorX + gap;\n if (x + tooltipRect.width > containerRect.width - gap) {\n x = cursorX - tooltipRect.width - gap;\n }\n x = Math.max(gap, Math.min(x, containerRect.width - tooltipRect.width - gap));\n let y = cursorY - tooltipRect.height / 2;\n y = Math.max(gap, Math.min(y, containerRect.height - tooltipRect.height - gap));\n return { x, y };\n}\nexport function mapEasingName(option) {\n switch (option) {\n case 'linear':\n return 'easeLinear';\n case 'ease':\n return 'easePolyInOut';\n case 'ease-in':\n return 'easePolyIn';\n case 'ease-out':\n return 'easePolyOut';\n case 'ease-in-out':\n return 'easePolyInOut';\n case 'cubic':\n return 'easeCubic';\n case 'cubic-in':\n return 'easeCubicIn';\n case 'cubic-out':\n return 'easeCubicOut';\n case 'cubic-in-out':\n return 'easeCubicInOut';\n default:\n return 'easeCubicOut';\n }\n}\n/**\n * Returns a D3 easing function for the provided option.\n */\nexport function getEasingFunction(d3, option) {\n const name = mapEasingName(option);\n const easing = d3[name];\n return typeof easing === 'function' ? easing : d3.easeCubicOut;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jaGFydHMvc3JjL2xpYi9jaGFydC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLGFBQXNCLEVBQ3RCLFdBQTJCLEVBQzNCLE9BQWUsRUFDZixPQUFlLEVBQ2YsR0FBVztJQUVYLE1BQU0sT0FBTyxHQUFHLE9BQU8sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDO0lBQzdDLE1BQU0sT0FBTyxHQUFHLE9BQU8sR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDO0lBRTVDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqQixPQUFPO1lBQ0wsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxhQUFhLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNyRCxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQztTQUNoRSxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQyxHQUFHLE9BQU8sR0FBRyxHQUFHLENBQUM7SUFDdEIsSUFBSSxDQUFDLEdBQUcsV0FBVyxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUMsS0FBSyxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ3RELENBQUMsR0FBRyxPQUFPLEdBQUcsV0FBVyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7SUFDeEMsQ0FBQztJQUNELENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUU5RSxJQUFJLENBQUMsR0FBRyxPQUFPLEdBQUcsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRWhGLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7QUFDbEIsQ0FBQztBQWdCRCxNQUFNLFVBQVUsYUFBYSxDQUFDLE1BQWU7SUFDM0MsUUFBUSxNQUFNLEVBQUUsQ0FBQztRQUNmLEtBQUssUUFBUTtZQUNYLE9BQU8sWUFBWSxDQUFDO1FBQ3RCLEtBQUssTUFBTTtZQUNULE9BQU8sZUFBZSxDQUFDO1FBQ3pCLEtBQUssU0FBUztZQUNaLE9BQU8sWUFBWSxDQUFDO1FBQ3RCLEtBQUssVUFBVTtZQUNiLE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLEtBQUssYUFBYTtZQUNoQixPQUFPLGVBQWUsQ0FBQztRQUN6QixLQUFLLE9BQU87WUFDVixPQUFPLFdBQVcsQ0FBQztRQUNyQixLQUFLLFVBQVU7WUFDYixPQUFPLGFBQWEsQ0FBQztRQUN2QixLQUFLLFdBQVc7WUFDZCxPQUFPLGNBQWMsQ0FBQztRQUN4QixLQUFLLGNBQWM7WUFDakIsT0FBTyxnQkFBZ0IsQ0FBQztRQUMxQjtZQUNFLE9BQU8sY0FBYyxDQUFDO0lBQzFCLENBQUM7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsRUFBdUIsRUFBRSxNQUFlO0lBQ3hFLE1BQU0sSUFBSSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuQyxNQUFNLE1BQU0sR0FBSSxFQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsT0FBTyxPQUFPLE1BQU0sS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUUsRUFBVSxDQUFDLFlBQVksQ0FBQztBQUMxRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgVG9vbHRpcFBvc2l0aW9uID0geyB4OiBudW1iZXI7IHk6IG51bWJlciB9O1xuXG4vKipcbiAqIENvbXB1dGUgZWRnZS1hd2FyZSB0b29sdGlwIHBvc2l0aW9uIHdpdGggcmlnaHQtZmlyc3QgcGxhY2VtZW50LFxuICogbGVmdCBmYWxsYmFjaywgdmVydGljYWwgY2VudGVyaW5nLCBhbmQgY2xhbXBpbmcgd2l0aGluIGJvdW5kcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVUb29sdGlwUG9zaXRpb24oXG4gIGNvbnRhaW5lclJlY3Q6IERPTVJlY3QsXG4gIHRvb2x0aXBSZWN0OiBET01SZWN0IHwgbnVsbCxcbiAgY2xpZW50WDogbnVtYmVyLFxuICBjbGllbnRZOiBudW1iZXIsXG4gIGdhcDogbnVtYmVyLFxuKTogVG9vbHRpcFBvc2l0aW9uIHtcbiAgY29uc3QgY3Vyc29yWCA9IGNsaWVudFggLSBjb250YWluZXJSZWN0LmxlZnQ7XG4gIGNvbnN0IGN1cnNvclkgPSBjbGllbnRZIC0gY29udGFpbmVyUmVjdC50b3A7XG5cbiAgaWYgKCF0b29sdGlwUmVjdCkge1xuICAgIHJldHVybiB7XG4gICAgICB4OiBNYXRoLm1pbihjdXJzb3JYICsgZ2FwLCBjb250YWluZXJSZWN0LndpZHRoIC0gZ2FwKSxcbiAgICAgIHk6IE1hdGgubWF4KGdhcCwgTWF0aC5taW4oY3Vyc29yWSwgY29udGFpbmVyUmVjdC5oZWlnaHQgLSBnYXApKSxcbiAgICB9O1xuICB9XG5cbiAgbGV0IHggPSBjdXJzb3JYICsgZ2FwO1xuICBpZiAoeCArIHRvb2x0aXBSZWN0LndpZHRoID4gY29udGFpbmVyUmVjdC53aWR0aCAtIGdhcCkge1xuICAgIHggPSBjdXJzb3JYIC0gdG9vbHRpcFJlY3Qud2lkdGggLSBnYXA7XG4gIH1cbiAgeCA9IE1hdGgubWF4KGdhcCwgTWF0aC5taW4oeCwgY29udGFpbmVyUmVjdC53aWR0aCAtIHRvb2x0aXBSZWN0LndpZHRoIC0gZ2FwKSk7XG5cbiAgbGV0IHkgPSBjdXJzb3JZIC0gdG9vbHRpcFJlY3QuaGVpZ2h0IC8gMjtcbiAgeSA9IE1hdGgubWF4KGdhcCwgTWF0aC5taW4oeSwgY29udGFpbmVyUmVjdC5oZWlnaHQgLSB0b29sdGlwUmVjdC5oZWlnaHQgLSBnYXApKTtcblxuICByZXR1cm4geyB4LCB5IH07XG59XG5cbi8qKlxuICogTWFwIGVhc2luZyBvcHRpb24gdG8gZDMgZWFzaW5nIGZ1bmN0aW9uIG5hbWUgdGhhdCBjYWxsZXJzIGNhbiBsb29rdXAgb24gZDMuXG4gKiBLZWVwcyBtYXBwaW5nIGNvbnNpc3RlbnQgYWNyb3NzIGNoYXJ0cy5cbiAqL1xuZXhwb3J0IHR5cGUgRDNFYXNpbmdOYW1lID1cbiAgfCAnZWFzZUxpbmVhcidcbiAgfCAnZWFzZVBvbHlJbk91dCdcbiAgfCAnZWFzZVBvbHlJbidcbiAgfCAnZWFzZVBvbHlPdXQnXG4gIHwgJ2Vhc2VDdWJpYydcbiAgfCAnZWFzZUN1YmljSW4nXG4gIHwgJ2Vhc2VDdWJpY091dCdcbiAgfCAnZWFzZUN1YmljSW5PdXQnO1xuXG5leHBvcnQgZnVuY3Rpb24gbWFwRWFzaW5nTmFtZShvcHRpb24/OiBzdHJpbmcpOiBEM0Vhc2luZ05hbWUge1xuICBzd2l0Y2ggKG9wdGlvbikge1xuICAgIGNhc2UgJ2xpbmVhcic6XG4gICAgICByZXR1cm4gJ2Vhc2VMaW5lYXInO1xuICAgIGNhc2UgJ2Vhc2UnOlxuICAgICAgcmV0dXJuICdlYXNlUG9seUluT3V0JztcbiAgICBjYXNlICdlYXNlLWluJzpcbiAgICAgIHJldHVybiAnZWFzZVBvbHlJbic7XG4gICAgY2FzZSAnZWFzZS1vdXQnOlxuICAgICAgcmV0dXJuICdlYXNlUG9seU91dCc7XG4gICAgY2FzZSAnZWFzZS1pbi1vdXQnOlxuICAgICAgcmV0dXJuICdlYXNlUG9seUluT3V0JztcbiAgICBjYXNlICdjdWJpYyc6XG4gICAgICByZXR1cm4gJ2Vhc2VDdWJpYyc7XG4gICAgY2FzZSAnY3ViaWMtaW4nOlxuICAgICAgcmV0dXJuICdlYXNlQ3ViaWNJbic7XG4gICAgY2FzZSAnY3ViaWMtb3V0JzpcbiAgICAgIHJldHVybiAnZWFzZUN1YmljT3V0JztcbiAgICBjYXNlICdjdWJpYy1pbi1vdXQnOlxuICAgICAgcmV0dXJuICdlYXNlQ3ViaWNJbk91dCc7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAnZWFzZUN1YmljT3V0JztcbiAgfVxufVxuXG4vKipcbiAqIFJldHVybnMgYSBEMyBlYXNpbmcgZnVuY3Rpb24gZm9yIHRoZSBwcm92aWRlZCBvcHRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFYXNpbmdGdW5jdGlvbihkMzogdHlwZW9mIGltcG9ydCgnZDMnKSwgb3B0aW9uPzogc3RyaW5nKTogKHQ6IG51bWJlcikgPT4gbnVtYmVyIHtcbiAgY29uc3QgbmFtZSA9IG1hcEVhc2luZ05hbWUob3B0aW9uKTtcbiAgY29uc3QgZWFzaW5nID0gKGQzIGFzIGFueSlbbmFtZV07XG4gIHJldHVybiB0eXBlb2YgZWFzaW5nID09PSAnZnVuY3Rpb24nID8gZWFzaW5nIDogKGQzIGFzIGFueSkuZWFzZUN1YmljT3V0O1xufVxuIl19","export const AX_CHARTS = 'ACOREX_CHARTS';\nexport * from './lib/chart-base.interface';\nexport * from './lib/chart-colors';\nexport * from './lib/chart-utils';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jaGFydHMvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUM7QUFDekMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQVhfQ0hBUlRTID0gJ0FDT1JFWF9DSEFSVFMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hhcnQtYmFzZS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hhcnQtY29sb3JzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoYXJ0LXV0aWxzJztcbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNoYXJ0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NoYXJ0cy9zcmMvYWNvcmV4LWNoYXJ0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-charts.mjs","sources":["../tmp-esm2022/lib/chart-colors.js","../tmp-esm2022/lib/chart-component-base.js","../tmp-esm2022/lib/chart-utils.js","../tmp-esm2022/index.js","../tmp-esm2022/acorex-charts.js"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n// Default color palette for charts\nexport const AX_CHART_COLOR_PALETTE = new InjectionToken('AX_CHART_COLOR_PALETTE', {\n providedIn: 'root',\n factory: () => [\n '#FF6B6B', // Vibrant Red\n '#4ECDC4', // Electric Teal\n '#45B7D1', // Bright Blue\n '#96CEB4', // Fresh Green\n '#FFEEAD', // Bright Yellow\n '#D4A5A5', // Rose Pink\n '#9B59B6', // Rich Purple\n '#3498DB', // Deep Blue\n '#E67E22', // Bright Orange\n '#2ECC71', // Emerald Green\n '#E74C3C', // Cherry Red\n '#1ABC9C', // Turquoise\n '#F1C40F', // Golden Yellow\n '#8E44AD', // Deep Purple\n '#16A085', // Dark Teal\n // --- Extended Colors (new) ---\n '#27AE60', // Forest Green\n '#2980B9', // Strong Blue\n '#F39C12', // Vivid Orange\n '#C0392B', // Dark Red\n '#7D3C98', // Plum Purple\n '#2C3E50', // Midnight Blue\n '#D35400', // Burnt Orange\n '#BDC3C7', // Soft Silver\n '#34495E', // Slate Gray\n '#1F618D', // Royal Blue\n '#58D68D', // Mint Green\n '#5DADE2', // Sky Blue\n '#F1948A', // Soft Coral\n '#A569BD', // Lavender Purple\n '#F8C471', // Warm Gold\n ],\n});\n/**\n * Helper function to get a color from the palette by index\n * @param index The index of the color to get\n * @param palette The color palette to use\n * @returns The color at the specified index\n */\nexport function getChartColor(index, palette) {\n return palette[index % palette.length];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtY29sb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2hhcnRzL3NyYy9saWIvY2hhcnQtY29sb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsbUNBQW1DO0FBQ25DLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksY0FBYyxDQUN0RCx3QkFBd0IsRUFDeEI7SUFDRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixTQUFTLEVBQUUsY0FBYztRQUN6QixTQUFTLEVBQUUsZ0JBQWdCO1FBQzNCLFNBQVMsRUFBRSxjQUFjO1FBQ3pCLFNBQVMsRUFBRSxjQUFjO1FBQ3pCLFNBQVMsRUFBRSxnQkFBZ0I7UUFDM0IsU0FBUyxFQUFFLFlBQVk7UUFDdkIsU0FBUyxFQUFFLGNBQWM7UUFDekIsU0FBUyxFQUFFLFlBQVk7UUFDdkIsU0FBUyxFQUFFLGdCQUFnQjtRQUMzQixTQUFTLEVBQUUsZ0JBQWdCO1FBQzNCLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLFNBQVMsRUFBRSxZQUFZO1FBQ3ZCLFNBQVMsRUFBRSxnQkFBZ0I7UUFDM0IsU0FBUyxFQUFFLGNBQWM7UUFDekIsU0FBUyxFQUFFLFlBQVk7UUFFdkIsZ0NBQWdDO1FBQ2hDLFNBQVMsRUFBRSxlQUFlO1FBQzFCLFNBQVMsRUFBRSxjQUFjO1FBQ3pCLFNBQVMsRUFBRSxlQUFlO1FBQzFCLFNBQVMsRUFBRSxXQUFXO1FBQ3RCLFNBQVMsRUFBRSxjQUFjO1FBQ3pCLFNBQVMsRUFBRSxnQkFBZ0I7UUFDM0IsU0FBUyxFQUFFLGVBQWU7UUFDMUIsU0FBUyxFQUFFLGNBQWM7UUFDekIsU0FBUyxFQUFFLGFBQWE7UUFDeEIsU0FBUyxFQUFFLGFBQWE7UUFDeEIsU0FBUyxFQUFFLGFBQWE7UUFDeEIsU0FBUyxFQUFFLFdBQVc7UUFDdEIsU0FBUyxFQUFFLGFBQWE7UUFDeEIsU0FBUyxFQUFFLGtCQUFrQjtRQUM3QixTQUFTLEVBQUUsWUFBWTtLQUN4QjtDQUNGLENBQ0YsQ0FBQztBQUdGOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFhLEVBQUUsT0FBaUI7SUFDNUQsT0FBTyxPQUFPLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLy8gRGVmYXVsdCBjb2xvciBwYWxldHRlIGZvciBjaGFydHNcbmV4cG9ydCBjb25zdCBBWF9DSEFSVF9DT0xPUl9QQUxFVFRFID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZ1tdPihcbiAgJ0FYX0NIQVJUX0NPTE9SX1BBTEVUVEUnLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IFtcbiAgICAgICcjRkY2QjZCJywgLy8gVmlicmFudCBSZWRcbiAgICAgICcjNEVDREM0JywgLy8gRWxlY3RyaWMgVGVhbFxuICAgICAgJyM0NUI3RDEnLCAvLyBCcmlnaHQgQmx1ZVxuICAgICAgJyM5NkNFQjQnLCAvLyBGcmVzaCBHcmVlblxuICAgICAgJyNGRkVFQUQnLCAvLyBCcmlnaHQgWWVsbG93XG4gICAgICAnI0Q0QTVBNScsIC8vIFJvc2UgUGlua1xuICAgICAgJyM5QjU5QjYnLCAvLyBSaWNoIFB1cnBsZVxuICAgICAgJyMzNDk4REInLCAvLyBEZWVwIEJsdWVcbiAgICAgICcjRTY3RTIyJywgLy8gQnJpZ2h0IE9yYW5nZVxuICAgICAgJyMyRUNDNzEnLCAvLyBFbWVyYWxkIEdyZWVuXG4gICAgICAnI0U3NEMzQycsIC8vIENoZXJyeSBSZWRcbiAgICAgICcjMUFCQzlDJywgLy8gVHVycXVvaXNlXG4gICAgICAnI0YxQzQwRicsIC8vIEdvbGRlbiBZZWxsb3dcbiAgICAgICcjOEU0NEFEJywgLy8gRGVlcCBQdXJwbGVcbiAgICAgICcjMTZBMDg1JywgLy8gRGFyayBUZWFsXG5cbiAgICAgIC8vIC0tLSBFeHRlbmRlZCBDb2xvcnMgKG5ldykgLS0tXG4gICAgICAnIzI3QUU2MCcsIC8vIEZvcmVzdCBHcmVlblxuICAgICAgJyMyOTgwQjknLCAvLyBTdHJvbmcgQmx1ZVxuICAgICAgJyNGMzlDMTInLCAvLyBWaXZpZCBPcmFuZ2VcbiAgICAgICcjQzAzOTJCJywgLy8gRGFyayBSZWRcbiAgICAgICcjN0QzQzk4JywgLy8gUGx1bSBQdXJwbGVcbiAgICAgICcjMkMzRTUwJywgLy8gTWlkbmlnaHQgQmx1ZVxuICAgICAgJyNEMzU0MDAnLCAvLyBCdXJudCBPcmFuZ2VcbiAgICAgICcjQkRDM0M3JywgLy8gU29mdCBTaWx2ZXJcbiAgICAgICcjMzQ0OTVFJywgLy8gU2xhdGUgR3JheVxuICAgICAgJyMxRjYxOEQnLCAvLyBSb3lhbCBCbHVlXG4gICAgICAnIzU4RDY4RCcsIC8vIE1pbnQgR3JlZW5cbiAgICAgICcjNURBREUyJywgLy8gU2t5IEJsdWVcbiAgICAgICcjRjE5NDhBJywgLy8gU29mdCBDb3JhbFxuICAgICAgJyNBNTY5QkQnLCAvLyBMYXZlbmRlciBQdXJwbGVcbiAgICAgICcjRjhDNDcxJywgLy8gV2FybSBHb2xkXG4gICAgXSxcbiAgfVxuKTtcblxuXG4vKipcbiAqIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgYSBjb2xvciBmcm9tIHRoZSBwYWxldHRlIGJ5IGluZGV4XG4gKiBAcGFyYW0gaW5kZXggVGhlIGluZGV4IG9mIHRoZSBjb2xvciB0byBnZXRcbiAqIEBwYXJhbSBwYWxldHRlIFRoZSBjb2xvciBwYWxldHRlIHRvIHVzZVxuICogQHJldHVybnMgVGhlIGNvbG9yIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXhcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENoYXJ0Q29sb3IoaW5kZXg6IG51bWJlciwgcGFsZXR0ZTogc3RyaW5nW10pOiBzdHJpbmcge1xuICByZXR1cm4gcGFsZXR0ZVtpbmRleCAlIHBhbGV0dGUubGVuZ3RoXTtcbn1cbiJdfQ==","import { afterNextRender, Directive, ElementRef, inject, signal } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * Base component class for all chart components\n * Copied from @acorex/cdk/common NXComponent to remove external dependency\n */\nexport class AXChartComponent {\n #elementRef = inject(ElementRef);\n #isRendered = signal(false, ...(ngDevMode ? [{ debugName: \"#isRendered\" }] : []));\n isRendered = this.#isRendered.asReadonly();\n #afterNextRender = afterNextRender(() => {\n if (!this.isRendered()) {\n this.nativeElement['__axContext__'] = this;\n this.#isRendered.set(true);\n }\n });\n /**\n * Gets the native HTML element of the component\n */\n get nativeElement() {\n return this.#elementRef.nativeElement;\n }\n /**\n * Gets the host HTML element of the component (alias for nativeElement)\n * @returns T - The native DOM element associated with this component\n */\n getHostElement() {\n return this.#elementRef.nativeElement;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.6\", ngImport: i0, type: AXChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.6\", type: AXChartComponent, isStandalone: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.6\", ngImport: i0, type: AXChartComponent, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtY29tcG9uZW50LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jaGFydHMvc3JjL2xpYi9jaGFydC1jb21wb25lbnQtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFdkY7OztHQUdHO0FBRUgsTUFBTSxPQUFnQixnQkFBZ0I7SUFDcEMsV0FBVyxHQUE0QixNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUQsV0FBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLHVEQUFDLENBQUM7SUFFbEIsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFckQsZ0JBQWdCLEdBQUcsZUFBZSxDQUFDLEdBQUcsRUFBRTtRQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBa0IsQ0FBQztJQUM3QyxDQUFDO3VHQTFCbUIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRHJDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhZnRlck5leHRSZW5kZXIsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBCYXNlIGNvbXBvbmVudCBjbGFzcyBmb3IgYWxsIGNoYXJ0IGNvbXBvbmVudHNcbiAqIENvcGllZCBmcm9tIEBhY29yZXgvY2RrL2NvbW1vbiBOWENvbXBvbmVudCB0byByZW1vdmUgZXh0ZXJuYWwgZGVwZW5kZW5jeVxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWENoYXJ0Q29tcG9uZW50IHtcbiAgI2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+ID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAjaXNSZW5kZXJlZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHJvdGVjdGVkIGlzUmVuZGVyZWQgPSB0aGlzLiNpc1JlbmRlcmVkLmFzUmVhZG9ubHkoKTtcblxuICAjYWZ0ZXJOZXh0UmVuZGVyID0gYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICBpZiAoIXRoaXMuaXNSZW5kZXJlZCgpKSB7XG4gICAgICB0aGlzLm5hdGl2ZUVsZW1lbnRbJ19fYXhDb250ZXh0X18nXSA9IHRoaXM7XG4gICAgICB0aGlzLiNpc1JlbmRlcmVkLnNldCh0cnVlKTtcbiAgICB9XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBuYXRpdmUgSFRNTCBlbGVtZW50IG9mIHRoZSBjb21wb25lbnRcbiAgICovXG4gIHB1YmxpYyBnZXQgbmF0aXZlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBob3N0IEhUTUwgZWxlbWVudCBvZiB0aGUgY29tcG9uZW50IChhbGlhcyBmb3IgbmF0aXZlRWxlbWVudClcbiAgICogQHJldHVybnMgVCAtIFRoZSBuYXRpdmUgRE9NIGVsZW1lbnQgYXNzb2NpYXRlZCB3aXRoIHRoaXMgY29tcG9uZW50XG4gICAqL1xuICBwdWJsaWMgZ2V0SG9zdEVsZW1lbnQ8VCA9IEhUTUxFbGVtZW50PigpOiBUIHtcbiAgICByZXR1cm4gdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIFQ7XG4gIH1cbn1cbiJdfQ==","/**\n * Compute edge-aware tooltip position with intelligent placement,\n * considering available space in all directions and preventing overflow.\n */\nexport function computeTooltipPosition(containerRect, tooltipRect, clientX, clientY, gap) {\n const cursorX = clientX - containerRect.left;\n const cursorY = clientY - containerRect.top;\n if (!tooltipRect) {\n return {\n x: Math.min(cursorX + gap, containerRect.width - gap),\n y: Math.max(gap, Math.min(cursorY, containerRect.height - gap)),\n };\n }\n // Calculate available space in each direction\n const spaceRight = containerRect.width - cursorX;\n const spaceLeft = cursorX;\n const spaceBelow = containerRect.height - cursorY;\n const spaceAbove = cursorY;\n // Determine best horizontal position\n let x;\n if (spaceRight >= tooltipRect.width + gap) {\n // Position to the right of cursor\n x = cursorX + gap;\n }\n else if (spaceLeft >= tooltipRect.width + gap) {\n // Position to the left of cursor\n x = cursorX - tooltipRect.width - gap;\n }\n else {\n // Center horizontally if neither side has enough space\n x = Math.max(gap, Math.min((containerRect.width - tooltipRect.width) / 2, containerRect.width - tooltipRect.width - gap));\n }\n // Determine best vertical position\n let y;\n if (spaceBelow >= tooltipRect.height + gap) {\n // Position below cursor\n y = cursorY + gap;\n }\n else if (spaceAbove >= tooltipRect.height + gap) {\n // Position above cursor\n y = cursorY - tooltipRect.height - gap;\n }\n else {\n // Center vertically if neither direction has enough space\n y = Math.max(gap, Math.min((containerRect.height - tooltipRect.height) / 2, containerRect.height - tooltipRect.height - gap));\n }\n // Ensure tooltip stays within container bounds\n x = Math.max(gap, Math.min(x, containerRect.width - tooltipRect.width - gap));\n y = Math.max(gap, Math.min(y, containerRect.height - tooltipRect.height - gap));\n return { x, y };\n}\nexport function mapEasingName(option) {\n switch (option) {\n case 'linear':\n return 'easeLinear';\n case 'ease':\n return 'easePolyInOut';\n case 'ease-in':\n return 'easePolyIn';\n case 'ease-out':\n return 'easePolyOut';\n case 'ease-in-out':\n return 'easePolyInOut';\n case 'cubic':\n return 'easeCubic';\n case 'cubic-in':\n return 'easeCubicIn';\n case 'cubic-out':\n return 'easeCubicOut';\n case 'cubic-in-out':\n return 'easeCubicInOut';\n default:\n return 'easeCubicOut';\n }\n}\n/**\n * Returns a D3 easing function for the provided option.\n */\nexport function getEasingFunction(d3, option) {\n const name = mapEasingName(option);\n const easing = d3[name];\n return typeof easing === 'function' ? easing : d3.easeCubicOut;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jaGFydHMvc3JjL2xpYi9jaGFydC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLGFBQXNCLEVBQ3RCLFdBQTJCLEVBQzNCLE9BQWUsRUFDZixPQUFlLEVBQ2YsR0FBVztJQUVYLE1BQU0sT0FBTyxHQUFHLE9BQU8sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDO0lBQzdDLE1BQU0sT0FBTyxHQUFHLE9BQU8sR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDO0lBRTVDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqQixPQUFPO1lBQ0wsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxhQUFhLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNyRCxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQztTQUNoRSxDQUFDO0lBQ0osQ0FBQztJQUVELDhDQUE4QztJQUM5QyxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQztJQUNqRCxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUM7SUFDMUIsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUM7SUFDbEQsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDO0lBRTNCLHFDQUFxQztJQUNyQyxJQUFJLENBQVMsQ0FBQztJQUNkLElBQUksVUFBVSxJQUFJLFdBQVcsQ0FBQyxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDMUMsa0NBQWtDO1FBQ2xDLENBQUMsR0FBRyxPQUFPLEdBQUcsR0FB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QU8sTUFBTSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBRSxFQUFVLENBQUMsWUFBWSxDQUFDO0FBQzFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBUb29sdGlwUG9zaXRpb24gPSB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH07XG5cbi8qKlxuICogQ29tcHV0ZSBlZGdlLWF3YXJlIHRvb2x0aXAgcG9zaXRpb24gd2l0aCBpbnRlbGxpZ2VudCBwbGFjZW1lbnQsXG4gKiBjb25zaWRlcmluZyBhdmFpbGFibGUgc3BhY2UgaW4gYWxsIGRpcmVjdGlvbnMgYW5kIHByZXZlbnRpbmcgb3ZlcmZsb3cuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlVG9vbHRpcFBvc2l0aW9uKFxuICBjb250YWluZXJSZWN0OiBET01SZWN0LFxuICB0b29sdGlwUmVjdDogRE9NUmVjdCB8IG51bGwsXG4gIGNsaWVudFg6IG51bWJlcixcbiAgY2xpZW50WTogbnVtYmVyLFxuICBnYXA6IG51bWJlcixcbik6IFRvb2x0aXBQb3NpdGlvbiB7XG4gIGNvbnN0IGN1cnNvclggPSBjbGllbnRYIC0gY29udGFpbmVyUmVjdC5sZWZ0O1xuICBjb25zdCBjdXJzb3JZID0gY2xpZW50WSAtIGNvbnRhaW5lclJlY3QudG9wO1xuXG4gIGlmICghdG9vbHRpcFJlY3QpIHtcbiAgICByZXR1cm4ge1xuICAgICAgeDogTWF0aC5taW4oY3Vyc29yWCArIGdhcCwgY29udGFpbmVyUmVjdC53aWR0aCAtIGdhcCksXG4gICAgICB5OiBNYXRoLm1heChnYXAsIE1hdGgubWluKGN1cnNvclksIGNvbnRhaW5lclJlY3QuaGVpZ2h0IC0gZ2FwKSksXG4gICAgfTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSBhdmFpbGFibGUgc3BhY2UgaW4gZWFjaCBkaXJlY3Rpb25cbiAgY29uc3Qgc3BhY2VSaWdodCA9IGNvbnRhaW5lclJlY3Qud2lkdGggLSBjdXJzb3JYO1xuICBjb25zdCBzcGFjZUxlZnQgPSBjdXJzb3JYO1xuICBjb25zdCBzcGFjZUJlbG93ID0gY29udGFpbmVyUmVjdC5oZWlnaHQgLSBjdXJzb3JZO1xuICBjb25zdCBzcGFjZUFib3ZlID0gY3Vyc29yWTtcblxuICAvLyBEZXRlcm1pbmUgYmVzdCBob3Jpem9udGFsIHBvc2l0aW9uXG4gIGxldCB4OiBudW1iZXI7XG4gIGlmIChzcGFjZVJpZ2h0ID49IHRvb2x0aXBSZWN0LndpZHRoICsgZ2FwKSB7XG4gICAgLy8gUG9zaXRpb24gdG8gdGhlIHJpZ2h0IG9mIGN1cnNvclxuICAgIHggPSBjdXJzb3JYICsgZ2FwO1xuICB9IGVsc2UgaWYgKHNwYWNlTGVmdCA+PSB0b29sdGlwUmVjdC53aWR0aCArIGdhcCkge1xuICAgIC8vIFBvc2l0aW9uIHRvIHRoZSBsZWZ0IG9mIGN1cnNvclxuICAgIHggPSBjdXJzb3JYIC0gdG9vbHRpcFJlY3Qud2lkdGggLSBnYXA7XG4gIH0gZWxzZSB7XG4gICAgLy8gQ2VudGVyIGhvcml6b250YWxseSBpZiBuZWl0aGVyIHNpZGUgaGFzIGVub3VnaCBzcGFjZVxuICAgIHggPSBNYXRoLm1heChcbiAgICAgIGdhcCxcbiAgICAgIE1hdGgubWluKChjb250YWluZXJSZWN0LndpZHRoIC0gdG9vbHRpcFJlY3Qud2lkdGgpIC8gMiwgY29udGFpbmVyUmVjdC53aWR0aCAtIHRvb2x0aXBSZWN0LndpZHRoIC0gZ2FwKSxcbiAgICApO1xuICB9XG5cbiAgLy8gRGV0ZXJtaW5lIGJlc3QgdmVydGljYWwgcG9zaXRpb25cbiAgbGV0IHk6IG51bWJlcjtcbiAgaWYgKHNwYWNlQmVsb3cgPj0gdG9vbHRpcFJlY3QuaGVpZ2h0ICsgZ2FwKSB7XG4gICAgLy8gUG9zaXRpb24gYmVsb3cgY3Vyc29yXG4gICAgeSA9IGN1cnNvclkgKyBnYXA7XG4gIH0gZWxzZSBpZiAoc3BhY2VBYm92ZSA+PSB0b29sdGlwUmVjdC5oZWlnaHQgKyBnYXApIHtcbiAgICAvLyBQb3NpdGlvbiBhYm92ZSBjdXJzb3JcbiAgICB5ID0gY3Vyc29yWSAtIHRvb2x0aXBSZWN0LmhlaWdodCAtIGdhcDtcbiAgfSBlbHNlIHtcbiAgICAvLyBDZW50ZXIgdmVydGljYWxseSBpZiBuZWl0aGVyIGRpcmVjdGlvbiBoYXMgZW5vdWdoIHNwYWNlXG4gICAgeSA9IE1hdGgubWF4KFxuICAgICAgZ2FwLFxuICAgICAgTWF0aC5taW4oKGNvbnRhaW5lclJlY3QuaGVpZ2h0IC0gdG9vbHRpcFJlY3QuaGVpZ2h0KSAvIDIsIGNvbnRhaW5lclJlY3QuaGVpZ2h0IC0gdG9vbHRpcFJlY3QuaGVpZ2h0IC0gZ2FwKSxcbiAgICApO1xuICB9XG5cbiAgLy8gRW5zdXJlIHRvb2x0aXAgc3RheXMgd2l0aGluIGNvbnRhaW5lciBib3VuZHNcbiAgeCA9IE1hdGgubWF4KGdhcCwgTWF0aC5taW4oeCwgY29udGFpbmVyUmVjdC53aWR0aCAtIHRvb2x0aXBSZWN0LndpZHRoIC0gZ2FwKSk7XG4gIHkgPSBNYXRoLm1heChnYXAsIE1hdGgubWluKHksIGNvbnRhaW5lclJlY3QuaGVpZ2h0IC0gdG9vbHRpcFJlY3QuaGVpZ2h0IC0gZ2FwKSk7XG5cbiAgcmV0dXJuIHsgeCwgeSB9O1xufVxuXG4vKipcbiAqIE1hcCBlYXNpbmcgb3B0aW9uIHRvIGQzIGVhc2luZyBmdW5jdGlvbiBuYW1lIHRoYXQgY2FsbGVycyBjYW4gbG9va3VwIG9uIGQzLlxuICogS2VlcHMgbWFwcGluZyBjb25zaXN0ZW50IGFjcm9zcyBjaGFydHMuXG4gKi9cbmV4cG9ydCB0eXBlIEQzRWFzaW5nTmFtZSA9XG4gIHwgJ2Vhc2VMaW5lYXInXG4gIHwgJ2Vhc2VQb2x5SW5PdXQnXG4gIHwgJ2Vhc2VQb2x5SW4nXG4gIHwgJ2Vhc2VQb2x5T3V0J1xuICB8ICdlYXNlQ3ViaWMnXG4gIHwgJ2Vhc2VDdWJpY0luJ1xuICB8ICdlYXNlQ3ViaWNPdXQnXG4gIHwgJ2Vhc2VDdWJpY0luT3V0JztcblxuZXhwb3J0IGZ1bmN0aW9uIG1hcEVhc2luZ05hbWUob3B0aW9uPzogc3RyaW5nKTogRDNFYXNpbmdOYW1lIHtcbiAgc3dpdGNoIChvcHRpb24pIHtcbiAgICBjYXNlICdsaW5lYXInOlxuICAgICAgcmV0dXJuICdlYXNlTGluZWFyJztcbiAgICBjYXNlICdlYXNlJzpcbiAgICAgIHJldHVybiAnZWFzZVBvbHlJbk91dCc7XG4gICAgY2FzZSAnZWFzZS1pbic6XG4gICAgICByZXR1cm4gJ2Vhc2VQb2x5SW4nO1xuICAgIGNhc2UgJ2Vhc2Utb3V0JzpcbiAgICAgIHJldHVybiAnZWFzZVBvbHlPdXQnO1xuICAgIGNhc2UgJ2Vhc2UtaW4tb3V0JzpcbiAgICAgIHJldHVybiAnZWFzZVBvbHlJbk91dCc7XG4gICAgY2FzZSAnY3ViaWMnOlxuICAgICAgcmV0dXJuICdlYXNlQ3ViaWMnO1xuICAgIGNhc2UgJ2N1YmljLWluJzpcbiAgICAgIHJldHVybiAnZWFzZUN1YmljSW4nO1xuICAgIGNhc2UgJ2N1YmljLW91dCc6XG4gICAgICByZXR1cm4gJ2Vhc2VDdWJpY091dCc7XG4gICAgY2FzZSAnY3ViaWMtaW4tb3V0JzpcbiAgICAgIHJldHVybiAnZWFzZUN1YmljSW5PdXQnO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gJ2Vhc2VDdWJpY091dCc7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgRDMgZWFzaW5nIGZ1bmN0aW9uIGZvciB0aGUgcHJvdmlkZWQgb3B0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWFzaW5nRnVuY3Rpb24oZDM6IHR5cGVvZiBpbXBvcnQoJ2QzJyksIG9wdGlvbj86IHN0cmluZyk6ICh0OiBudW1iZXIpID0+IG51bWJlciB7XG4gIGNvbnN0IG5hbWUgPSBtYXBFYXNpbmdOYW1lKG9wdGlvbik7XG4gIGNvbnN0IGVhc2luZyA9IChkMyBhcyBhbnkpW25hbWVdO1xuICByZXR1cm4gdHlwZW9mIGVhc2luZyA9PT0gJ2Z1bmN0aW9uJyA/IGVhc2luZyA6IChkMyBhcyBhbnkpLmVhc2VDdWJpY091dDtcbn1cbiJdfQ==","export const AX_CHARTS = 'ACOREX_CHARTS';\nexport * from './lib/chart-base.interface';\nexport * from './lib/chart-colors';\nexport * from './lib/chart-component-base';\nexport * from './lib/chart-types';\nexport * from './lib/chart-utils';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jaGFydHMvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUM7QUFDekMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEFYX0NIQVJUUyA9ICdBQ09SRVhfQ0hBUlRTJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoYXJ0LWJhc2UuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoYXJ0LWNvbG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGFydC1jb21wb25lbnQtYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGFydC10eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGFydC11dGlscyc7XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNoYXJ0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NoYXJ0cy9zcmMvYWNvcmV4LWNoYXJ0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
|
package/gauge-chart/index.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import { AXAnimationEasing } from '@acorex/
|
|
1
|
+
import * as _acorex_charts from '@acorex/charts';
|
|
2
|
+
import { AXAnimationEasing, AXChartComponent, AXChartComponentBase } from '@acorex/charts';
|
|
3
3
|
import * as d3 from 'd3';
|
|
4
4
|
import * as _angular_core from '@angular/core';
|
|
5
5
|
import { OnDestroy, InjectionToken } from '@angular/core';
|
|
6
|
-
import { AXChartComponentBase } from '@acorex/charts';
|
|
7
6
|
import { AXChartTooltipData } from '@acorex/charts/chart-tooltip';
|
|
8
7
|
|
|
9
8
|
/**
|
|
@@ -91,7 +90,7 @@ type AXGaugeChartValue = number;
|
|
|
91
90
|
* Gauge Chart Component
|
|
92
91
|
* Renders a semi-circular gauge chart with animated needle and thresholds
|
|
93
92
|
*/
|
|
94
|
-
declare class AXGaugeChartComponent implements OnDestroy, AXChartComponentBase {
|
|
93
|
+
declare class AXGaugeChartComponent extends AXChartComponent implements OnDestroy, AXChartComponentBase {
|
|
95
94
|
private cdr;
|
|
96
95
|
/** Chart value input */
|
|
97
96
|
value: _angular_core.InputSignal<number>;
|
|
@@ -130,7 +129,7 @@ declare class AXGaugeChartComponent implements OnDestroy, AXChartComponentBase {
|
|
|
130
129
|
}[];
|
|
131
130
|
label?: string;
|
|
132
131
|
animationDuration?: number;
|
|
133
|
-
animationEasing?:
|
|
132
|
+
animationEasing?: _acorex_charts.AXAnimationEasing;
|
|
134
133
|
messages?: AXGaugeChartMessages;
|
|
135
134
|
}>;
|
|
136
135
|
private readonly TOOLTIP_GAP;
|
|
@@ -151,7 +150,7 @@ declare class AXGaugeChartComponent implements OnDestroy, AXChartComponentBase {
|
|
|
151
150
|
/**
|
|
152
151
|
* Updates only the value display and dial position without recreating the chart
|
|
153
152
|
*/
|
|
154
|
-
|
|
153
|
+
updateValueAndDial(value: number): void;
|
|
155
154
|
/**
|
|
156
155
|
* Draw the background arc
|
|
157
156
|
*/
|
|
@@ -170,6 +169,7 @@ declare class AXGaugeChartComponent implements OnDestroy, AXChartComponentBase {
|
|
|
170
169
|
private showSingleRangeTooltip;
|
|
171
170
|
/**
|
|
172
171
|
* Updates the tooltip position based on the mouse event
|
|
172
|
+
* For gauge charts, we need simpler coordinate handling since D3 events are already in container coordinates
|
|
173
173
|
*/
|
|
174
174
|
private updateTooltipPosition;
|
|
175
175
|
/**
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import { AXAnimationEasing, NXNativeEvent,
|
|
1
|
+
import * as _acorex_charts from '@acorex/charts';
|
|
2
|
+
import { AXAnimationEasing, NXNativeEvent, AXChartComponent, AXChartComponentBase } from '@acorex/charts';
|
|
3
3
|
import * as _angular_core from '@angular/core';
|
|
4
4
|
import { TemplateRef, InjectionToken } from '@angular/core';
|
|
5
|
-
import { AXChartComponentBase } from '@acorex/charts';
|
|
6
5
|
|
|
7
6
|
/**
|
|
8
7
|
* Represents a node in the hierarchy chart.
|
|
@@ -286,7 +285,7 @@ interface AXHierarchyChartToggleEvent {
|
|
|
286
285
|
*
|
|
287
286
|
* Supports both default node styling and custom node templates.
|
|
288
287
|
*/
|
|
289
|
-
declare class AXHierarchyChartComponent extends
|
|
288
|
+
declare class AXHierarchyChartComponent extends AXChartComponent implements AXChartComponentBase {
|
|
290
289
|
private chartContainer;
|
|
291
290
|
customNodeTemplate: _angular_core.Signal<TemplateRef<AXHierarchyChartNodeContext>>;
|
|
292
291
|
private ngZone;
|
|
@@ -324,7 +323,7 @@ declare class AXHierarchyChartComponent extends NXComponent implements AXChartCo
|
|
|
324
323
|
expandAll?: boolean;
|
|
325
324
|
className?: string;
|
|
326
325
|
animationDuration?: number;
|
|
327
|
-
animationEasing?:
|
|
326
|
+
animationEasing?: _acorex_charts.AXAnimationEasing;
|
|
328
327
|
messages?: AXHierarchyChartMessages;
|
|
329
328
|
}>;
|
|
330
329
|
protected effectiveMessages: _angular_core.Signal<{
|
package/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
1
2
|
import { InjectionToken } from '@angular/core';
|
|
2
3
|
import * as d3 from 'd3';
|
|
3
4
|
|
|
@@ -16,13 +17,47 @@ declare const AX_CHART_COLOR_PALETTE: InjectionToken<string[]>;
|
|
|
16
17
|
*/
|
|
17
18
|
declare function getChartColor(index: number, palette: string[]): string;
|
|
18
19
|
|
|
20
|
+
/**
|
|
21
|
+
* Base component class for all chart components
|
|
22
|
+
* Copied from @acorex/cdk/common NXComponent to remove external dependency
|
|
23
|
+
*/
|
|
24
|
+
declare abstract class AXChartComponent {
|
|
25
|
+
#private;
|
|
26
|
+
protected isRendered: i0.Signal<boolean>;
|
|
27
|
+
/**
|
|
28
|
+
* Gets the native HTML element of the component
|
|
29
|
+
*/
|
|
30
|
+
get nativeElement(): HTMLElement;
|
|
31
|
+
/**
|
|
32
|
+
* Gets the host HTML element of the component (alias for nativeElement)
|
|
33
|
+
* @returns T - The native DOM element associated with this component
|
|
34
|
+
*/
|
|
35
|
+
getHostElement<T = HTMLElement>(): T;
|
|
36
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXChartComponent, never>;
|
|
37
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<AXChartComponent, never, never, {}, {}, never, never, true, never>;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Animation easing options for charts
|
|
42
|
+
* Copied from @acorex/cdk/common to remove external dependency
|
|
43
|
+
*/
|
|
44
|
+
type AXAnimationEasing = 'linear' | 'ease' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'cubic' | 'cubic-in' | 'cubic-out' | 'cubic-in-out';
|
|
45
|
+
/**
|
|
46
|
+
* Native event wrapper
|
|
47
|
+
* Copied from @acorex/cdk/common to remove external dependency
|
|
48
|
+
*/
|
|
49
|
+
interface NXNativeEvent {
|
|
50
|
+
nativeEvent: MouseEvent | TouchEvent;
|
|
51
|
+
sender: any;
|
|
52
|
+
}
|
|
53
|
+
|
|
19
54
|
type TooltipPosition = {
|
|
20
55
|
x: number;
|
|
21
56
|
y: number;
|
|
22
57
|
};
|
|
23
58
|
/**
|
|
24
|
-
* Compute edge-aware tooltip position with
|
|
25
|
-
*
|
|
59
|
+
* Compute edge-aware tooltip position with intelligent placement,
|
|
60
|
+
* considering available space in all directions and preventing overflow.
|
|
26
61
|
*/
|
|
27
62
|
declare function computeTooltipPosition(containerRect: DOMRect, tooltipRect: DOMRect | null, clientX: number, clientY: number, gap: number): TooltipPosition;
|
|
28
63
|
/**
|
|
@@ -38,5 +73,5 @@ declare function getEasingFunction(d3: typeof d3, option?: string): (t: number)
|
|
|
38
73
|
|
|
39
74
|
declare const AX_CHARTS = "ACOREX_CHARTS";
|
|
40
75
|
|
|
41
|
-
export { AX_CHARTS, AX_CHART_COLOR_PALETTE, computeTooltipPosition, getChartColor, getEasingFunction, mapEasingName };
|
|
42
|
-
export type { AXChartComponentBase, D3EasingName, TooltipPosition };
|
|
76
|
+
export { AXChartComponent, AX_CHARTS, AX_CHART_COLOR_PALETTE, computeTooltipPosition, getChartColor, getEasingFunction, mapEasingName };
|
|
77
|
+
export type { AXAnimationEasing, AXChartComponentBase, D3EasingName, NXNativeEvent, TooltipPosition };
|
package/line-chart/index.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import { AXAnimationEasing, NXNativeEvent,
|
|
1
|
+
import * as _acorex_charts from '@acorex/charts';
|
|
2
|
+
import { AXAnimationEasing, NXNativeEvent, AXChartComponent, AXChartComponentBase } from '@acorex/charts';
|
|
3
3
|
import * as d3 from 'd3';
|
|
4
4
|
import * as _angular_core from '@angular/core';
|
|
5
5
|
import { OnInit, AfterViewInit, OnDestroy, InjectionToken } from '@angular/core';
|
|
6
|
-
import { AXChartComponentBase } from '@acorex/charts';
|
|
7
6
|
import { AXChartLegendCompatible, AXChartLegendItem } from '@acorex/charts/chart-legend';
|
|
8
7
|
import { AXChartTooltipData } from '@acorex/charts/chart-tooltip';
|
|
9
8
|
|
|
@@ -103,7 +102,7 @@ type AXLineChartValue = AXLineChartData[] | AXLineChartData;
|
|
|
103
102
|
/**
|
|
104
103
|
* Line Chart Component for rendering data as lines with interactive hover effects and animations
|
|
105
104
|
*/
|
|
106
|
-
declare class AXLineChartComponent extends
|
|
105
|
+
declare class AXLineChartComponent extends AXChartComponent implements OnInit, AfterViewInit, OnDestroy, AXChartLegendCompatible, AXChartComponentBase {
|
|
107
106
|
#private;
|
|
108
107
|
data: _angular_core.InputSignal<AXLineChartValue>;
|
|
109
108
|
options: _angular_core.InputSignal<AXLineChartOption>;
|
|
@@ -134,7 +133,6 @@ declare class AXLineChartComponent extends NXComponent implements OnInit, AfterV
|
|
|
134
133
|
protected tooltipData: _angular_core.Signal<AXChartTooltipData>;
|
|
135
134
|
private configToken;
|
|
136
135
|
private chartColors;
|
|
137
|
-
private platform;
|
|
138
136
|
protected effectiveOptions: _angular_core.Signal<{
|
|
139
137
|
width?: number;
|
|
140
138
|
height?: number;
|
|
@@ -161,7 +159,7 @@ declare class AXLineChartComponent extends NXComponent implements OnInit, AfterV
|
|
|
161
159
|
fillOpacity?: number;
|
|
162
160
|
showCrosshair?: boolean;
|
|
163
161
|
animationDuration?: number;
|
|
164
|
-
animationEasing?:
|
|
162
|
+
animationEasing?: _acorex_charts.AXAnimationEasing;
|
|
165
163
|
messages?: AXLineChartMessages;
|
|
166
164
|
}>;
|
|
167
165
|
protected effectiveMessages: _angular_core.Signal<{
|
package/package.json
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acorex/charts",
|
|
3
|
-
"version": "21.0.0-next.
|
|
3
|
+
"version": "21.0.0-next.12",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@acorex/cdk": "21.0.0-next.10",
|
|
6
|
-
"@acorex/core": "21.0.0-next.10",
|
|
7
5
|
"@angular/common": "^20.0.0",
|
|
8
6
|
"@angular/core": "^20.0.0",
|
|
9
7
|
"d3": "^7.9.0"
|