@acorex/charts 20.9.3 → 20.9.4
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 +1 -0
- package/donut-chart/index.d.ts +1 -0
- package/fesm2022/acorex-charts-bar-chart.mjs +40 -39
- package/fesm2022/acorex-charts-bar-chart.mjs.map +1 -1
- package/fesm2022/acorex-charts-chart-tooltip.mjs +17 -13
- package/fesm2022/acorex-charts-chart-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-charts-donut-chart.mjs +16 -5
- package/fesm2022/acorex-charts-donut-chart.mjs.map +1 -1
- package/fesm2022/acorex-charts-funnel-chart.mjs +9 -1
- package/fesm2022/acorex-charts-funnel-chart.mjs.map +1 -1
- package/fesm2022/acorex-charts-gauge-chart.mjs +16 -5
- package/fesm2022/acorex-charts-gauge-chart.mjs.map +1 -1
- package/fesm2022/acorex-charts-heatmap-chart.mjs +9 -1
- package/fesm2022/acorex-charts-heatmap-chart.mjs.map +1 -1
- package/fesm2022/acorex-charts.mjs +18 -26
- package/fesm2022/acorex-charts.mjs.map +1 -1
- package/funnel-chart/index.d.ts +1 -0
- package/gauge-chart/index.d.ts +1 -0
- package/heatmap-chart/index.d.ts +1 -0
- package/package.json +5 -5
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i1 from '@angular/common';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { inject, NgZone, input, viewChild, afterNextRender, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
4
|
+
import { inject, NgZone, input, viewChild, afterNextRender, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
|
|
5
5
|
|
|
6
6
|
class AXChartTooltipComponent {
|
|
7
7
|
ngZone = inject(NgZone);
|
|
@@ -70,17 +70,19 @@ class AXChartTooltipComponent {
|
|
|
70
70
|
* Updates tooltip dimensions after it's rendered
|
|
71
71
|
*/
|
|
72
72
|
updateTooltipDimensions() {
|
|
73
|
-
if (this.visible()
|
|
74
|
-
|
|
75
|
-
// Use requestAnimationFrame to ensure dimensions are calculated after render
|
|
76
|
-
requestAnimationFrame(() => {
|
|
77
|
-
if (this.tooltipContainer()?.nativeElement) {
|
|
78
|
-
this.tooltipWidth = this.tooltipContainer().nativeElement.offsetWidth;
|
|
79
|
-
this.tooltipHeight = this.tooltipContainer().nativeElement.offsetHeight;
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
});
|
|
73
|
+
if (!this.visible()) {
|
|
74
|
+
return;
|
|
83
75
|
}
|
|
76
|
+
this.ngZone.runOutsideAngular(() => {
|
|
77
|
+
requestAnimationFrame(() => {
|
|
78
|
+
const tooltipEl = this.tooltipContainer()?.nativeElement;
|
|
79
|
+
if (!tooltipEl) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
this.tooltipWidth = tooltipEl.offsetWidth;
|
|
83
|
+
this.tooltipHeight = tooltipEl.offsetHeight;
|
|
84
|
+
});
|
|
85
|
+
});
|
|
84
86
|
}
|
|
85
87
|
/**
|
|
86
88
|
* Get adjusted tooltip position
|
|
@@ -93,11 +95,13 @@ class AXChartTooltipComponent {
|
|
|
93
95
|
};
|
|
94
96
|
}
|
|
95
97
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXChartTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
96
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXChartTooltipComponent, isStandalone: true, selector: "ax-chart-tooltip", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, showPercentage: { classPropertyName: "showPercentage", publicName: "showPercentage", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "tooltipContainer", first: true, predicate: ["tooltipContainer"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (data()) {\n <div\n #tooltipContainer\n class=\"chart-tooltip
|
|
98
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXChartTooltipComponent, isStandalone: true, selector: "ax-chart-tooltip", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, showPercentage: { classPropertyName: "showPercentage", publicName: "showPercentage", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "ax-chart-tooltip-host" }, viewQueries: [{ propertyName: "tooltipContainer", first: true, predicate: ["tooltipContainer"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (visible() && data()) {\n <div\n #tooltipContainer\n class=\"chart-tooltip chart-tooltip-visible\"\n [style.background-color]=\"data()!.tooltipBgColor || null\"\n [style.color]=\"data()!.tooltipColor || null\"\n [style.left.px]=\"position().x\"\n [style.top.px]=\"position().y\"\n [ngStyle]=\"style()\"\n aria-hidden=\"false\"\n >\n <div class=\"chart-tooltip-content\">\n <div class=\"chart-tooltip-body\">\n @if (!isTitleArray()) {\n <div class=\"chart-tooltip-title-row\">\n @if (singleColor()) {\n <div class=\"chart-tooltip-color\" [style.background-color]=\"singleColor()!\"></div>\n }\n <div class=\"chart-tooltip-title\">\n {{ data()!.title }}\n </div>\n </div>\n } @else {\n <div class=\"chart-tooltip-title-list\">\n @for (t of titleList(); let i = $index; track $index) {\n <div class=\"chart-tooltip-title-row\">\n @if (colorAt(i)) {\n <div class=\"chart-tooltip-color\" [style.background-color]=\"colorAt(i)!\"></div>\n }\n <div class=\"chart-tooltip-title\">\n {{ t }}\n </div>\n </div>\n }\n </div>\n }\n\n <div class=\"chart-tooltip-value-row\">\n <div class=\"chart-tooltip-value\">{{ formattedValue() }}</div>\n @if (showPercentage() && data()!.percentage) {\n <div class=\"chart-tooltip-percentage\">\n {{ data()!.percentage }}\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n}\n", styles: ["ax-chart-tooltip.ax-chart-tooltip-host{position:absolute;top:0;left:0;width:0;height:0;overflow:visible;pointer-events:none;z-index:10;--ax-comp-chart-tooltip-bg-color: var(--ax-comp-tooltip-bg-color, var(--ax-sys-color-dark));--ax-comp-chart-tooltip-text-color: var(--ax-comp-tooltip-text-color, var(--ax-sys-color-light))}.chart-tooltip{pointer-events:none;position:fixed;z-index:1000;max-width:250px;width:max-content;border-radius:6px;border:1px solid rgba(255,255,255,.1);padding:8px 12px;font-size:.8rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:rgba(var(--ax-comp-chart-tooltip-bg-color));color:rgba(var(--ax-comp-chart-tooltip-text-color));opacity:0;visibility:hidden;transition:opacity .15s ease}.chart-tooltip-visible{opacity:1;visibility:visible}.chart-tooltip-content{display:flex;align-items:center;justify-content:space-between;gap:8px}.chart-tooltip-body{display:flex;flex-direction:column;overflow:hidden;text-overflow:ellipsis}.chart-tooltip-title-row{display:flex;align-items:center;gap:6px;padding-bottom:8px}.chart-tooltip-title-list .chart-tooltip-title-row{padding-bottom:4px}.chart-tooltip-color{height:10px;width:10px;flex-shrink:0;border-radius:2px}.chart-tooltip-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.2}.chart-tooltip-value-row{display:flex;align-items:center;gap:8px;white-space:nowrap}.chart-tooltip-value{flex-grow:1;font-weight:500}.chart-tooltip-percentage{flex-shrink:0;border-radius:9999px;background-color:#fff3;padding:2px 6px;font-size:.7rem;font-weight:500}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
97
99
|
}
|
|
98
100
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXChartTooltipComponent, decorators: [{
|
|
99
101
|
type: Component,
|
|
100
|
-
args: [{ selector: 'ax-chart-tooltip', imports: [CommonModule],
|
|
102
|
+
args: [{ selector: 'ax-chart-tooltip', imports: [CommonModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
103
|
+
class: 'ax-chart-tooltip-host',
|
|
104
|
+
}, template: "@if (visible() && data()) {\n <div\n #tooltipContainer\n class=\"chart-tooltip chart-tooltip-visible\"\n [style.background-color]=\"data()!.tooltipBgColor || null\"\n [style.color]=\"data()!.tooltipColor || null\"\n [style.left.px]=\"position().x\"\n [style.top.px]=\"position().y\"\n [ngStyle]=\"style()\"\n aria-hidden=\"false\"\n >\n <div class=\"chart-tooltip-content\">\n <div class=\"chart-tooltip-body\">\n @if (!isTitleArray()) {\n <div class=\"chart-tooltip-title-row\">\n @if (singleColor()) {\n <div class=\"chart-tooltip-color\" [style.background-color]=\"singleColor()!\"></div>\n }\n <div class=\"chart-tooltip-title\">\n {{ data()!.title }}\n </div>\n </div>\n } @else {\n <div class=\"chart-tooltip-title-list\">\n @for (t of titleList(); let i = $index; track $index) {\n <div class=\"chart-tooltip-title-row\">\n @if (colorAt(i)) {\n <div class=\"chart-tooltip-color\" [style.background-color]=\"colorAt(i)!\"></div>\n }\n <div class=\"chart-tooltip-title\">\n {{ t }}\n </div>\n </div>\n }\n </div>\n }\n\n <div class=\"chart-tooltip-value-row\">\n <div class=\"chart-tooltip-value\">{{ formattedValue() }}</div>\n @if (showPercentage() && data()!.percentage) {\n <div class=\"chart-tooltip-percentage\">\n {{ data()!.percentage }}\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n}\n", styles: ["ax-chart-tooltip.ax-chart-tooltip-host{position:absolute;top:0;left:0;width:0;height:0;overflow:visible;pointer-events:none;z-index:10;--ax-comp-chart-tooltip-bg-color: var(--ax-comp-tooltip-bg-color, var(--ax-sys-color-dark));--ax-comp-chart-tooltip-text-color: var(--ax-comp-tooltip-text-color, var(--ax-sys-color-light))}.chart-tooltip{pointer-events:none;position:fixed;z-index:1000;max-width:250px;width:max-content;border-radius:6px;border:1px solid rgba(255,255,255,.1);padding:8px 12px;font-size:.8rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:rgba(var(--ax-comp-chart-tooltip-bg-color));color:rgba(var(--ax-comp-chart-tooltip-text-color));opacity:0;visibility:hidden;transition:opacity .15s ease}.chart-tooltip-visible{opacity:1;visibility:visible}.chart-tooltip-content{display:flex;align-items:center;justify-content:space-between;gap:8px}.chart-tooltip-body{display:flex;flex-direction:column;overflow:hidden;text-overflow:ellipsis}.chart-tooltip-title-row{display:flex;align-items:center;gap:6px;padding-bottom:8px}.chart-tooltip-title-list .chart-tooltip-title-row{padding-bottom:4px}.chart-tooltip-color{height:10px;width:10px;flex-shrink:0;border-radius:2px}.chart-tooltip-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.2}.chart-tooltip-value-row{display:flex;align-items:center;gap:8px;white-space:nowrap}.chart-tooltip-value{flex-grow:1;font-weight:500}.chart-tooltip-percentage{flex-shrink:0;border-radius:9999px;background-color:#fff3;padding:2px 6px;font-size:.7rem;font-weight:500}\n"] }]
|
|
101
105
|
}], ctorParameters: () => [] });
|
|
102
106
|
|
|
103
107
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-charts-chart-tooltip.mjs","sources":["../tmp-esm2022/chart-tooltip/lib/chart-tooltip.component.js","../tmp-esm2022/chart-tooltip/acorex-charts-chart-tooltip.js"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, NgZone, afterNextRender, inject, input, viewChild, } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nexport class AXChartTooltipComponent {\n ngZone = inject(NgZone);\n data = input(null, ...(ngDevMode ? [{ debugName: \"data\" }] : []));\n position = input({ x: 0, y: 0 }, ...(ngDevMode ? [{ debugName: \"position\" }] : []));\n visible = input(false, ...(ngDevMode ? [{ debugName: \"visible\" }] : []));\n /**\n * Whether to show the tooltip's percentage badge\n */\n showPercentage = input(true, ...(ngDevMode ? [{ debugName: \"showPercentage\" }] : []));\n /**\n * Optional custom styling for the tooltip\n */\n style = input({}, ...(ngDevMode ? [{ debugName: \"style\" }] : []));\n /**\n * Reference to tooltip container for measuring dimensions\n */\n tooltipContainer = viewChild('tooltipContainer', ...(ngDevMode ? [{ debugName: \"tooltipContainer\" }] : []));\n // Tooltip dimensions\n tooltipWidth = 0;\n tooltipHeight = 0;\n constructor() {\n afterNextRender(() => {\n // Update tooltip dimensions when visible changes\n this.updateTooltipDimensions();\n });\n }\n // Helpers to support color as string | string[]\n isColorArray() {\n const color = this.data()?.color;\n return Array.isArray(color);\n }\n colorList() {\n const color = this.data()?.color;\n return Array.isArray(color) ? color : [];\n }\n singleColor() {\n const color = this.data()?.color;\n return typeof color === 'string' ? color : null;\n }\n isTitleArray() {\n const t = this.data()?.title;\n return Array.isArray(t);\n }\n titleList() {\n const t = this.data()?.title;\n return Array.isArray(t) ? t : [];\n }\n colorAt(index) {\n const c = this.data()?.color;\n if (Array.isArray(c)) {\n return c[index] ?? null;\n }\n return typeof c === 'string' ? c : null;\n }\n formattedValue() {\n const v = this.data()?.value;\n if (v == null)\n return '';\n if (typeof v === 'number')\n return v.toLocaleString();\n const num = Number(v);\n return isNaN(num) ? v : num.toLocaleString();\n }\n /**\n * Updates tooltip dimensions after it's rendered\n */\n updateTooltipDimensions() {\n if (this.visible() && this.tooltipContainer) {\n this.ngZone.runOutsideAngular(() => {\n // Use requestAnimationFrame to ensure dimensions are calculated after render\n requestAnimationFrame(() => {\n if (this.tooltipContainer()?.nativeElement) {\n this.tooltipWidth = this.tooltipContainer().nativeElement.offsetWidth;\n this.tooltipHeight = this.tooltipContainer().nativeElement.offsetHeight;\n }\n });\n });\n }\n }\n /**\n * Get adjusted tooltip position\n * Exposes properties for parent components to query tooltip dimensions\n */\n getDimensions() {\n return {\n width: this.tooltipWidth,\n height: this.tooltipHeight,\n };\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXChartTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.3\", type: AXChartTooltipComponent, isStandalone: true, selector: \"ax-chart-tooltip\", inputs: { data: { classPropertyName: \"data\", publicName: \"data\", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: \"position\", publicName: \"position\", isSignal: true, isRequired: false, transformFunction: null }, visible: { classPropertyName: \"visible\", publicName: \"visible\", isSignal: true, isRequired: false, transformFunction: null }, showPercentage: { classPropertyName: \"showPercentage\", publicName: \"showPercentage\", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: \"style\", publicName: \"style\", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: \"tooltipContainer\", first: true, predicate: [\"tooltipContainer\"], descendants: true, isSignal: true }], ngImport: i0, template: \"@if (data()) {\\n <div\\n #tooltipContainer\\n class=\\\"chart-tooltip\\\"\\n [class.chart-tooltip-visible]=\\\"visible()\\\"\\n [style.background-color]=\\\"data()!.tooltipBgColor || null\\\"\\n [style.color]=\\\"data()!.tooltipColor || null\\\"\\n [style.left.px]=\\\"position().x\\\"\\n [style.top.px]=\\\"position().y\\\"\\n [ngStyle]=\\\"style()\\\"\\n [attr.aria-hidden]=\\\"!visible()\\\"\\n >\\n <div class=\\\"chart-tooltip-content\\\">\\n <div class=\\\"chart-tooltip-body\\\">\\n @if (!isTitleArray()) {\\n <div class=\\\"chart-tooltip-title-row\\\">\\n @if (singleColor()) {\\n <div class=\\\"chart-tooltip-color\\\" [style.background-color]=\\\"singleColor()!\\\"></div>\\n }\\n <div class=\\\"chart-tooltip-title\\\">\\n {{ data()!.title }}\\n </div>\\n </div>\\n } @else {\\n <div class=\\\"chart-tooltip-title-list\\\">\\n @for (t of titleList(); let i = $index; track $index) {\\n <div class=\\\"chart-tooltip-title-row\\\">\\n @if (colorAt(i)) {\\n <div class=\\\"chart-tooltip-color\\\" [style.background-color]=\\\"colorAt(i)!\\\"></div>\\n }\\n <div class=\\\"chart-tooltip-title\\\">\\n {{ t }}\\n </div>\\n </div>\\n }\\n </div>\\n }\\n\\n <div class=\\\"chart-tooltip-value-row\\\">\\n <div class=\\\"chart-tooltip-value\\\">{{ formattedValue() }}</div>\\n @if (showPercentage() && data()!.percentage) {\\n <div class=\\\"chart-tooltip-percentage\\\">\\n {{ data()!.percentage }}\\n </div>\\n }\\n </div>\\n </div>\\n </div>\\n </div>\\n}\\n\", styles: [\":host{position:absolute;top:0;left:0;width:0;height:0;overflow:visible;pointer-events:none;z-index:10;--ax-comp-chart-tooltip-bg-color: var(--ax-comp-tooltip-bg-color, var(--ax-sys-color-dark));--ax-comp-chart-tooltip-text-color: var(--ax-comp-tooltip-text-color, var(--ax-sys-color-light))}.chart-tooltip{pointer-events:none;position:absolute;z-index:10;max-width:250px;width:max-content;border-radius:6px;border:1px solid rgba(255,255,255,.1);padding:8px 12px;font-size:.8rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:rgba(var(--ax-comp-chart-tooltip-bg-color));color:rgba(var(--ax-comp-chart-tooltip-text-color));opacity:0;visibility:hidden;transition:opacity .15s ease}.chart-tooltip-visible{opacity:1;visibility:visible}.chart-tooltip-content{display:flex;align-items:center;justify-content:space-between;gap:8px}.chart-tooltip-body{display:flex;flex-direction:column;overflow:hidden;text-overflow:ellipsis}.chart-tooltip-title-row{display:flex;align-items:center;gap:6px;padding-bottom:8px}.chart-tooltip-title-list .chart-tooltip-title-row{padding-bottom:4px}.chart-tooltip-color{height:10px;width:10px;flex-shrink:0;border-radius:2px}.chart-tooltip-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.2}.chart-tooltip-value-row{display:flex;align-items:center;gap:8px;white-space:nowrap}.chart-tooltip-value{flex-grow:1;font-weight:500}.chart-tooltip-percentage{flex-shrink:0;border-radius:9999px;background-color:#fff3;padding:2px 6px;font-size:.7rem;font-weight:500}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgStyle, selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXChartTooltipComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-chart-tooltip', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: \"@if (data()) {\\n <div\\n #tooltipContainer\\n class=\\\"chart-tooltip\\\"\\n [class.chart-tooltip-visible]=\\\"visible()\\\"\\n [style.background-color]=\\\"data()!.tooltipBgColor || null\\\"\\n [style.color]=\\\"data()!.tooltipColor || null\\\"\\n [style.left.px]=\\\"position().x\\\"\\n [style.top.px]=\\\"position().y\\\"\\n [ngStyle]=\\\"style()\\\"\\n [attr.aria-hidden]=\\\"!visible()\\\"\\n >\\n <div class=\\\"chart-tooltip-content\\\">\\n <div class=\\\"chart-tooltip-body\\\">\\n @if (!isTitleArray()) {\\n <div class=\\\"chart-tooltip-title-row\\\">\\n @if (singleColor()) {\\n <div class=\\\"chart-tooltip-color\\\" [style.background-color]=\\\"singleColor()!\\\"></div>\\n }\\n <div class=\\\"chart-tooltip-title\\\">\\n {{ data()!.title }}\\n </div>\\n </div>\\n } @else {\\n <div class=\\\"chart-tooltip-title-list\\\">\\n @for (t of titleList(); let i = $index; track $index) {\\n <div class=\\\"chart-tooltip-title-row\\\">\\n @if (colorAt(i)) {\\n <div class=\\\"chart-tooltip-color\\\" [style.background-color]=\\\"colorAt(i)!\\\"></div>\\n }\\n <div class=\\\"chart-tooltip-title\\\">\\n {{ t }}\\n </div>\\n </div>\\n }\\n </div>\\n }\\n\\n <div class=\\\"chart-tooltip-value-row\\\">\\n <div class=\\\"chart-tooltip-value\\\">{{ formattedValue() }}</div>\\n @if (showPercentage() && data()!.percentage) {\\n <div class=\\\"chart-tooltip-percentage\\\">\\n {{ data()!.percentage }}\\n </div>\\n }\\n </div>\\n </div>\\n </div>\\n </div>\\n}\\n\", styles: [\":host{position:absolute;top:0;left:0;width:0;height:0;overflow:visible;pointer-events:none;z-index:10;--ax-comp-chart-tooltip-bg-color: var(--ax-comp-tooltip-bg-color, var(--ax-sys-color-dark));--ax-comp-chart-tooltip-text-color: var(--ax-comp-tooltip-text-color, var(--ax-sys-color-light))}.chart-tooltip{pointer-events:none;position:absolute;z-index:10;max-width:250px;width:max-content;border-radius:6px;border:1px solid rgba(255,255,255,.1);padding:8px 12px;font-size:.8rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:rgba(var(--ax-comp-chart-tooltip-bg-color));color:rgba(var(--ax-comp-chart-tooltip-text-color));opacity:0;visibility:hidden;transition:opacity .15s ease}.chart-tooltip-visible{opacity:1;visibility:visible}.chart-tooltip-content{display:flex;align-items:center;justify-content:space-between;gap:8px}.chart-tooltip-body{display:flex;flex-direction:column;overflow:hidden;text-overflow:ellipsis}.chart-tooltip-title-row{display:flex;align-items:center;gap:6px;padding-bottom:8px}.chart-tooltip-title-list .chart-tooltip-title-row{padding-bottom:4px}.chart-tooltip-color{height:10px;width:10px;flex-shrink:0;border-radius:2px}.chart-tooltip-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.2}.chart-tooltip-value-row{display:flex;align-items:center;gap:8px;white-space:nowrap}.chart-tooltip-value{flex-grow:1;font-weight:500}.chart-tooltip-percentage{flex-shrink:0;border-radius:9999px;background-color:#fff3;padding:2px 6px;font-size:.7rem;font-weight:500}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtdG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jaGFydHMvY2hhcnQtdG9vbHRpcC9zcmMvbGliL2NoYXJ0LXRvb2x0aXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2hhcnRzL2NoYXJ0LXRvb2x0aXAvc3JjL2xpYi9jaGFydC10b29sdGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxNQUFNLEVBQ04sZUFBZSxFQUNmLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOzs7QUFVdkIsTUFBTSxPQUFPLHVCQUF1QjtJQUMxQixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRWhDLElBQUksR0FBRyxLQUFLLENBQTRCLElBQUksZ0RBQUMsQ0FBQztJQUM5QyxRQUFRLEdBQUcsS0FBSyxDQUEyQixFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxvREFBQyxDQUFDO0lBQzNELE9BQU8sR0FBRyxLQUFLLENBQVUsS0FBSyxtREFBQyxDQUFDO0lBRWhDOztPQUVHO0lBQ0gsY0FBYyxHQUFHLEtBQUssQ0FBVSxJQUFJLDBEQUFDLENBQUM7SUFFdEM7O09BRUc7SUFDSCxLQUFLLEdBQUcsS0FBSyxDQUE0QixFQUFFLGlEQUFDLENBQUM7SUFFN0M7O09BRUc7SUFDSCxnQkFBZ0IsR0FBRyxTQUFTLENBQTZCLGtCQUFrQiw0REFBQyxDQUFDO0lBRTdFLHFCQUFxQjtJQUNYLFlBQVksR0FBRyxDQUFDLENBQUM7SUFDakIsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUU1QjtRQUNFLGVBQWUsQ0FB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WUFBWSxDQUFDO29CQUMxRSxDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILGFBQWE7UUFDWCxPQUFPO1lBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYTtTQUMzQixDQUFDO0lBQ0osQ0FBQzt1R0FyR1UsdUJBQXVCOzJGQUF2Qix1QkFBdUIsNjFCQ3BCcEMsd3JEQWtEQSwyb0REakNZLFlBQVk7OzJGQUdYLHVCQUF1QjtrQkFQbkMsU0FBUzsrQkFDRSxrQkFBa0IsV0FHbkIsQ0FBQyxZQUFZLENBQUMsbUJBQ04sdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBOZ1pvbmUsXG4gIGFmdGVyTmV4dFJlbmRlcixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgdmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYQ2hhcnRUb29sdGlwRGF0YSB9IGZyb20gJy4vY2hhcnQtdG9vbHRpcC50eXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY2hhcnQtdG9vbHRpcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFydC10b29sdGlwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hhcnQtdG9vbHRpcC5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFYQ2hhcnRUb29sdGlwQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcblxuICBkYXRhID0gaW5wdXQ8QVhDaGFydFRvb2x0aXBEYXRhIHwgbnVsbD4obnVsbCk7XG4gIHBvc2l0aW9uID0gaW5wdXQ8eyB4OiBudW1iZXI7IHk6IG51bWJlciB9Pih7IHg6IDAsIHk6IDAgfSk7XG4gIHZpc2libGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gc2hvdyB0aGUgdG9vbHRpcCdzIHBlcmNlbnRhZ2UgYmFkZ2VcbiAgICovXG4gIHNob3dQZXJjZW50YWdlID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGN1c3RvbSBzdHlsaW5nIGZvciB0aGUgdG9vbHRpcFxuICAgKi9cbiAgc3R5bGUgPSBpbnB1dDx7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9Pih7fSk7XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0b29sdGlwIGNvbnRhaW5lciBmb3IgbWVhc3VyaW5nIGRpbWVuc2lvbnNcbiAgICovXG4gIHRvb2x0aXBDb250YWluZXIgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4+KCd0b29sdGlwQ29udGFpbmVyJyk7XG5cbiAgLy8gVG9vbHRpcCBkaW1lbnNpb25zXG4gIHByb3RlY3RlZCB0b29sdGlwV2lkdGggPSAwO1xuICBwcm90ZWN0ZWQgdG9vbHRpcEhlaWdodCA9IDA7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICAgIC8vIFVwZGF0ZSB0b29sdGlwIGRpbWVuc2lvbnMgd2hlbiB2aXNpYmxlIGNoYW5nZXNcbiAgICAgIHRoaXMudXBkYXRlVG9vbHRpcERpbWVuc2lvbnMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIEhlbHBlcnMgdG8gc3VwcG9ydCBjb2xvciBhcyBzdHJpbmcgfCBzdHJpbmdbXVxuICBwcm90ZWN0ZWQgaXNDb2xvckFycmF5KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNvbG9yID0gdGhpcy5kYXRhKCk/LmNvbG9yIGFzIHVua25vd247XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoY29sb3IpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbG9yTGlzdCgpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY29sb3IgPSB0aGlzLmRhdGEoKT8uY29sb3IgYXMgdW5rbm93bjtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShjb2xvcikgPyAoY29sb3IgYXMgc3RyaW5nW10pIDogW107XG4gIH1cblxuICBwcm90ZWN0ZWQgc2luZ2xlQ29sb3IoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgY29sb3IgPSB0aGlzLmRhdGEoKT8uY29sb3IgYXMgdW5rbm93bjtcbiAgICByZXR1cm4gdHlwZW9mIGNvbG9yID09PSAnc3RyaW5nJyA/IChjb2xvciBhcyBzdHJpbmcpIDogbnVsbDtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc1RpdGxlQXJyYXkoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdCA9IHRoaXMuZGF0YSgpPy50aXRsZSBhcyB1bmtub3duO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRpdGxlTGlzdCgpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgdCA9IHRoaXMuZGF0YSgpPy50aXRsZSBhcyB1bmtub3duO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHQpID8gKHQgYXMgc3RyaW5nW10pIDogW107XG4gIH1cblxuICBwcm90ZWN0ZWQgY29sb3JBdChpbmRleDogbnVtYmVyKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgYyA9IHRoaXMuZGF0YSgpPy5jb2xvciBhcyB1bmtub3duO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGMpKSB7XG4gICAgICByZXR1cm4gKGMgYXMgc3RyaW5nW10pW2luZGV4XSA/PyBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gdHlwZW9mIGMgPT09ICdzdHJpbmcnID8gKGMgYXMgc3RyaW5nKSA6IG51bGw7XG4gIH1cblxuICBwcm90ZWN0ZWQgZm9ybWF0dGVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCB2ID0gdGhpcy5kYXRhKCk/LnZhbHVlO1xuICAgIGlmICh2ID09IG51bGwpIHJldHVybiAnJztcbiAgICBpZiAodHlwZW9mIHYgPT09ICdudW1iZXInKSByZXR1cm4gdi50b0xvY2FsZVN0cmluZygpO1xuICAgIGNvbnN0IG51bSA9IE51bWJlcih2KTtcbiAgICByZXR1cm4gaXNOYU4obnVtKSA/IHYgOiBudW0udG9Mb2NhbGVTdHJpbmcoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRvb2x0aXAgZGltZW5zaW9ucyBhZnRlciBpdCdzIHJlbmRlcmVkXG4gICAqL1xuICBwcm90ZWN0ZWQgdXBkYXRlVG9vbHRpcERpbWVuc2lvbnMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudmlzaWJsZSgpICYmIHRoaXMudG9vbHRpcENvbnRhaW5lcikge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAvLyBVc2UgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIHRvIGVuc3VyZSBkaW1lbnNpb25zIGFyZSBjYWxjdWxhdGVkIGFmdGVyIHJlbmRlclxuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLnRvb2x0aXBDb250YWluZXIoKT8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy50b29sdGlwV2lkdGggPSB0aGlzLnRvb2x0aXBDb250YWluZXIoKS5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgICAgICAgdGhpcy50b29sdGlwSGVpZ2h0ID0gdGhpcy50b29sdGlwQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWRqdXN0ZWQgdG9vbHRpcCBwb3NpdGlvblxuICAgKiBFeHBvc2VzIHByb3BlcnRpZXMgZm9yIHBhcmVudCBjb21wb25lbnRzIHRvIHF1ZXJ5IHRvb2x0aXAgZGltZW5zaW9uc1xuICAgKi9cbiAgZ2V0RGltZW5zaW9ucygpOiB7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH0ge1xuICAgIHJldHVybiB7XG4gICAgICB3aWR0aDogdGhpcy50b29sdGlwV2lkdGgsXG4gICAgICBoZWlnaHQ6IHRoaXMudG9vbHRpcEhlaWdodCxcbiAgICB9O1xuICB9XG59XG4iLCJAaWYgKGRhdGEoKSkge1xuICA8ZGl2XG4gICAgI3Rvb2x0aXBDb250YWluZXJcbiAgICBjbGFzcz1cImNoYXJ0LXRvb2x0aXBcIlxuICAgIFtjbGFzcy5jaGFydC10b29sdGlwLXZpc2libGVdPVwidmlzaWJsZSgpXCJcbiAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJkYXRhKCkhLnRvb2x0aXBCZ0NvbG9yIHx8IG51bGxcIlxuICAgIFtzdHlsZS5jb2xvcl09XCJkYXRhKCkhLnRvb2x0aXBDb2xvciB8fCBudWxsXCJcbiAgICBbc3R5bGUubGVmdC5weF09XCJwb3NpdGlvbigpLnhcIlxuICAgIFtzdHlsZS50b3AucHhdPVwicG9zaXRpb24oKS55XCJcbiAgICBbbmdTdHlsZV09XCJzdHlsZSgpXCJcbiAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCIhdmlzaWJsZSgpXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJjaGFydC10b29sdGlwLWNvbnRlbnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjaGFydC10b29sdGlwLWJvZHlcIj5cbiAgICAgICAgQGlmICghaXNUaXRsZUFycmF5KCkpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hhcnQtdG9vbHRpcC10aXRsZS1yb3dcIj5cbiAgICAgICAgICAgIEBpZiAoc2luZ2xlQ29sb3IoKSkge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hhcnQtdG9vbHRpcC1jb2xvclwiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cInNpbmdsZUNvbG9yKCkhXCI+PC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hhcnQtdG9vbHRpcC10aXRsZVwiPlxuICAgICAgICAgICAgICB7eyBkYXRhKCkhLnRpdGxlIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoYXJ0LXRvb2x0aXAtdGl0bGUtbGlzdFwiPlxuICAgICAgICAgICAgQGZvciAodCBvZiB0aXRsZUxpc3QoKTsgbGV0IGkgPSAkaW5kZXg7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hhcnQtdG9vbHRpcC10aXRsZS1yb3dcIj5cbiAgICAgICAgICAgICAgICBAaWYgKGNvbG9yQXQoaSkpIHtcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGFydC10b29sdGlwLWNvbG9yXCIgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiY29sb3JBdChpKSFcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoYXJ0LXRvb2x0aXAtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgIHt7IHQgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hhcnQtdG9vbHRpcC12YWx1ZS1yb3dcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hhcnQtdG9vbHRpcC12YWx1ZVwiPnt7IGZvcm1hdHRlZFZhbHVlKCkgfX08L2Rpdj5cbiAgICAgICAgICBAaWYgKHNob3dQZXJjZW50YWdlKCkgJiYgZGF0YSgpIS5wZXJjZW50YWdlKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hhcnQtdG9vbHRpcC1wZXJjZW50YWdlXCI+XG4gICAgICAgICAgICAgIHt7IGRhdGEoKSEucGVyY2VudGFnZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNoYXJ0cy1jaGFydC10b29sdGlwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2hhcnRzL2NoYXJ0LXRvb2x0aXAvc3JjL2Fjb3JleC1jaGFydHMtY2hhcnQtdG9vbHRpcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-charts-chart-tooltip.mjs","sources":["../tmp-esm2022/chart-tooltip/lib/chart-tooltip.component.js","../tmp-esm2022/chart-tooltip/acorex-charts-chart-tooltip.js"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, NgZone, ViewEncapsulation, afterNextRender, inject, input, viewChild, } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nexport class AXChartTooltipComponent {\n ngZone = inject(NgZone);\n data = input(null, ...(ngDevMode ? [{ debugName: \"data\" }] : []));\n position = input({ x: 0, y: 0 }, ...(ngDevMode ? [{ debugName: \"position\" }] : []));\n visible = input(false, ...(ngDevMode ? [{ debugName: \"visible\" }] : []));\n /**\n * Whether to show the tooltip's percentage badge\n */\n showPercentage = input(true, ...(ngDevMode ? [{ debugName: \"showPercentage\" }] : []));\n /**\n * Optional custom styling for the tooltip\n */\n style = input({}, ...(ngDevMode ? [{ debugName: \"style\" }] : []));\n /**\n * Reference to tooltip container for measuring dimensions\n */\n tooltipContainer = viewChild('tooltipContainer', ...(ngDevMode ? [{ debugName: \"tooltipContainer\" }] : []));\n // Tooltip dimensions\n tooltipWidth = 0;\n tooltipHeight = 0;\n constructor() {\n afterNextRender(() => {\n // Update tooltip dimensions when visible changes\n this.updateTooltipDimensions();\n });\n }\n // Helpers to support color as string | string[]\n isColorArray() {\n const color = this.data()?.color;\n return Array.isArray(color);\n }\n colorList() {\n const color = this.data()?.color;\n return Array.isArray(color) ? color : [];\n }\n singleColor() {\n const color = this.data()?.color;\n return typeof color === 'string' ? color : null;\n }\n isTitleArray() {\n const t = this.data()?.title;\n return Array.isArray(t);\n }\n titleList() {\n const t = this.data()?.title;\n return Array.isArray(t) ? t : [];\n }\n colorAt(index) {\n const c = this.data()?.color;\n if (Array.isArray(c)) {\n return c[index] ?? null;\n }\n return typeof c === 'string' ? c : null;\n }\n formattedValue() {\n const v = this.data()?.value;\n if (v == null)\n return '';\n if (typeof v === 'number')\n return v.toLocaleString();\n const num = Number(v);\n return isNaN(num) ? v : num.toLocaleString();\n }\n /**\n * Updates tooltip dimensions after it's rendered\n */\n updateTooltipDimensions() {\n if (!this.visible()) {\n return;\n }\n this.ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => {\n const tooltipEl = this.tooltipContainer()?.nativeElement;\n if (!tooltipEl) {\n return;\n }\n this.tooltipWidth = tooltipEl.offsetWidth;\n this.tooltipHeight = tooltipEl.offsetHeight;\n });\n });\n }\n /**\n * Get adjusted tooltip position\n * Exposes properties for parent components to query tooltip dimensions\n */\n getDimensions() {\n return {\n width: this.tooltipWidth,\n height: this.tooltipHeight,\n };\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXChartTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.3\", type: AXChartTooltipComponent, isStandalone: true, selector: \"ax-chart-tooltip\", inputs: { data: { classPropertyName: \"data\", publicName: \"data\", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: \"position\", publicName: \"position\", isSignal: true, isRequired: false, transformFunction: null }, visible: { classPropertyName: \"visible\", publicName: \"visible\", isSignal: true, isRequired: false, transformFunction: null }, showPercentage: { classPropertyName: \"showPercentage\", publicName: \"showPercentage\", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: \"style\", publicName: \"style\", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: \"ax-chart-tooltip-host\" }, viewQueries: [{ propertyName: \"tooltipContainer\", first: true, predicate: [\"tooltipContainer\"], descendants: true, isSignal: true }], ngImport: i0, template: \"@if (visible() && data()) {\\n <div\\n #tooltipContainer\\n class=\\\"chart-tooltip chart-tooltip-visible\\\"\\n [style.background-color]=\\\"data()!.tooltipBgColor || null\\\"\\n [style.color]=\\\"data()!.tooltipColor || null\\\"\\n [style.left.px]=\\\"position().x\\\"\\n [style.top.px]=\\\"position().y\\\"\\n [ngStyle]=\\\"style()\\\"\\n aria-hidden=\\\"false\\\"\\n >\\n <div class=\\\"chart-tooltip-content\\\">\\n <div class=\\\"chart-tooltip-body\\\">\\n @if (!isTitleArray()) {\\n <div class=\\\"chart-tooltip-title-row\\\">\\n @if (singleColor()) {\\n <div class=\\\"chart-tooltip-color\\\" [style.background-color]=\\\"singleColor()!\\\"></div>\\n }\\n <div class=\\\"chart-tooltip-title\\\">\\n {{ data()!.title }}\\n </div>\\n </div>\\n } @else {\\n <div class=\\\"chart-tooltip-title-list\\\">\\n @for (t of titleList(); let i = $index; track $index) {\\n <div class=\\\"chart-tooltip-title-row\\\">\\n @if (colorAt(i)) {\\n <div class=\\\"chart-tooltip-color\\\" [style.background-color]=\\\"colorAt(i)!\\\"></div>\\n }\\n <div class=\\\"chart-tooltip-title\\\">\\n {{ t }}\\n </div>\\n </div>\\n }\\n </div>\\n }\\n\\n <div class=\\\"chart-tooltip-value-row\\\">\\n <div class=\\\"chart-tooltip-value\\\">{{ formattedValue() }}</div>\\n @if (showPercentage() && data()!.percentage) {\\n <div class=\\\"chart-tooltip-percentage\\\">\\n {{ data()!.percentage }}\\n </div>\\n }\\n </div>\\n </div>\\n </div>\\n </div>\\n}\\n\", styles: [\"ax-chart-tooltip.ax-chart-tooltip-host{position:absolute;top:0;left:0;width:0;height:0;overflow:visible;pointer-events:none;z-index:10;--ax-comp-chart-tooltip-bg-color: var(--ax-comp-tooltip-bg-color, var(--ax-sys-color-dark));--ax-comp-chart-tooltip-text-color: var(--ax-comp-tooltip-text-color, var(--ax-sys-color-light))}.chart-tooltip{pointer-events:none;position:fixed;z-index:1000;max-width:250px;width:max-content;border-radius:6px;border:1px solid rgba(255,255,255,.1);padding:8px 12px;font-size:.8rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:rgba(var(--ax-comp-chart-tooltip-bg-color));color:rgba(var(--ax-comp-chart-tooltip-text-color));opacity:0;visibility:hidden;transition:opacity .15s ease}.chart-tooltip-visible{opacity:1;visibility:visible}.chart-tooltip-content{display:flex;align-items:center;justify-content:space-between;gap:8px}.chart-tooltip-body{display:flex;flex-direction:column;overflow:hidden;text-overflow:ellipsis}.chart-tooltip-title-row{display:flex;align-items:center;gap:6px;padding-bottom:8px}.chart-tooltip-title-list .chart-tooltip-title-row{padding-bottom:4px}.chart-tooltip-color{height:10px;width:10px;flex-shrink:0;border-radius:2px}.chart-tooltip-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.2}.chart-tooltip-value-row{display:flex;align-items:center;gap:8px;white-space:nowrap}.chart-tooltip-value{flex-grow:1;font-weight:500}.chart-tooltip-percentage{flex-shrink:0;border-radius:9999px;background-color:#fff3;padding:2px 6px;font-size:.7rem;font-weight:500}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgStyle, selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: AXChartTooltipComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-chart-tooltip', imports: [CommonModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {\n class: 'ax-chart-tooltip-host',\n }, template: \"@if (visible() && data()) {\\n <div\\n #tooltipContainer\\n class=\\\"chart-tooltip chart-tooltip-visible\\\"\\n [style.background-color]=\\\"data()!.tooltipBgColor || null\\\"\\n [style.color]=\\\"data()!.tooltipColor || null\\\"\\n [style.left.px]=\\\"position().x\\\"\\n [style.top.px]=\\\"position().y\\\"\\n [ngStyle]=\\\"style()\\\"\\n aria-hidden=\\\"false\\\"\\n >\\n <div class=\\\"chart-tooltip-content\\\">\\n <div class=\\\"chart-tooltip-body\\\">\\n @if (!isTitleArray()) {\\n <div class=\\\"chart-tooltip-title-row\\\">\\n @if (singleColor()) {\\n <div class=\\\"chart-tooltip-color\\\" [style.background-color]=\\\"singleColor()!\\\"></div>\\n }\\n <div class=\\\"chart-tooltip-title\\\">\\n {{ data()!.title }}\\n </div>\\n </div>\\n } @else {\\n <div class=\\\"chart-tooltip-title-list\\\">\\n @for (t of titleList(); let i = $index; track $index) {\\n <div class=\\\"chart-tooltip-title-row\\\">\\n @if (colorAt(i)) {\\n <div class=\\\"chart-tooltip-color\\\" [style.background-color]=\\\"colorAt(i)!\\\"></div>\\n }\\n <div class=\\\"chart-tooltip-title\\\">\\n {{ t }}\\n </div>\\n </div>\\n }\\n </div>\\n }\\n\\n <div class=\\\"chart-tooltip-value-row\\\">\\n <div class=\\\"chart-tooltip-value\\\">{{ formattedValue() }}</div>\\n @if (showPercentage() && data()!.percentage) {\\n <div class=\\\"chart-tooltip-percentage\\\">\\n {{ data()!.percentage }}\\n </div>\\n }\\n </div>\\n </div>\\n </div>\\n </div>\\n}\\n\", styles: [\"ax-chart-tooltip.ax-chart-tooltip-host{position:absolute;top:0;left:0;width:0;height:0;overflow:visible;pointer-events:none;z-index:10;--ax-comp-chart-tooltip-bg-color: var(--ax-comp-tooltip-bg-color, var(--ax-sys-color-dark));--ax-comp-chart-tooltip-text-color: var(--ax-comp-tooltip-text-color, var(--ax-sys-color-light))}.chart-tooltip{pointer-events:none;position:fixed;z-index:1000;max-width:250px;width:max-content;border-radius:6px;border:1px solid rgba(255,255,255,.1);padding:8px 12px;font-size:.8rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:rgba(var(--ax-comp-chart-tooltip-bg-color));color:rgba(var(--ax-comp-chart-tooltip-text-color));opacity:0;visibility:hidden;transition:opacity .15s ease}.chart-tooltip-visible{opacity:1;visibility:visible}.chart-tooltip-content{display:flex;align-items:center;justify-content:space-between;gap:8px}.chart-tooltip-body{display:flex;flex-direction:column;overflow:hidden;text-overflow:ellipsis}.chart-tooltip-title-row{display:flex;align-items:center;gap:6px;padding-bottom:8px}.chart-tooltip-title-list .chart-tooltip-title-row{padding-bottom:4px}.chart-tooltip-color{height:10px;width:10px;flex-shrink:0;border-radius:2px}.chart-tooltip-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.2}.chart-tooltip-value-row{display:flex;align-items:center;gap:8px;white-space:nowrap}.chart-tooltip-value{flex-grow:1;font-weight:500}.chart-tooltip-percentage{flex-shrink:0;border-radius:9999px;background-color:#fff3;padding:2px 6px;font-size:.7rem;font-weight:500}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtdG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jaGFydHMvY2hhcnQtdG9vbHRpcC9zcmMvbGliL2NoYXJ0LXRvb2x0aXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2hhcnRzL2NoYXJ0LXRvb2x0aXAvc3JjL2xpYi9jaGFydC10b29sdGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQzs7O0FBY3ZCLE1BQU0sT0FBTyx1QkFBdUI7SUFDMUIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVoQyxJQUFJLEdBQUcsS0FBSyxDQUE0QixJQUFJLGdEQUFDLENBQUM7SUFDOUMsUUFBUSxHQUFHLEtBQUssQ0FBMkIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsb0RBQUMsQ0FBQztJQUMzRCxPQUFPLEdBQUcsS0FBSyxDQUFVLEtBQUssbURBQUMsQ0FBQztJQUVoQzs7T0FFRztJQUNILGNBQWMsR0FBRyxLQUFLLENBQVUsSUFBSSwwREFBQyxDQUFDO0lBRXRDOztPQUVHO0lBQ0gsS0FBSyxHQUFHLEtBQUssQ0FBNEIsRUFBRSxpREFBQyxDQUFDO0lBRTdDOztPQUVHO0lBQ0gsZ0JBQWdCLEdBQUcsU0FBUyxDQUE2QixrQkFBa0IsNERBQUMsQ0FBQztJQUU3RSxxQkFBcUI7SUFDWCxZQUFZLEdBQUcsQ0FBQyxDQUFDO0lBQ2pCLGFBQWEsR0FBRyxDQUFDLENBQUM7SUFFNUI7UUFDRSxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQ25CLGlEQUFpRDtZQUNqRCxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxnREFBZ0Q7SUFDdEMsWUFBWTtRQUNwQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBZ0IsQ0FBQztRQUM1QyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVTLFNBQVM7UUFDakIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEtBQWdCLENBQUM7UUFDNUMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBRSxLQUFrQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDekQsQ0FBQztJQUVTLFdBQVc7UUFDbkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEtBQWdCLENBQUM7UUFDNUMsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFFLEtBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM5RCxDQUFDO0lBRVMsWUFBWTtRQUNwQixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBZ0IsQ0FBQztRQUN4QyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVTLFNBQVM7UUFDakIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEtBQWdCLENBQUM7UUFDeEMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBRSxDQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRVMsT0FBTyxDQUFDLEtBQWE7UUFDN0IsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEtBQWdCLENBQUM7UUFDeEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDckIsT0FBUSxDQUFjLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3hDLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUUsQ0FBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdEQsQ0FBQztJQUVTLGNBQWM7UUFDdEIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsSUFBSSxJQUFJO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDekIsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRO1lBQUUsT0FBTyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDckQsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7O09BRUc7SUFDTyx1QkFBdUI7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDakMscUJBQXFCLENBQUMsR0FBRyxFQUFFO2dCQUN6QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxhQUFhLENBQUM7Z0JBQ3pELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDZixPQUFPO2dCQUNULENBQUM7Z0JBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDO2dCQUMxQyxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUM7WUFDOUMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxhQUFhO1FBQ1gsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWTtZQUN4QixNQUFNLEVBQUUsSUFBSSxDQUFDLGFBQWE7U0FDM0IsQ0FBQztJQUNKLENBQUM7dUdBekdVLHVCQUF1QjsyRkFBdkIsdUJBQXVCLGc1QkN6QnBDLDhwREFpREEsMnFERC9CWSxZQUFZOzsyRkFPWCx1QkFBdUI7a0JBWG5DLFNBQVM7K0JBQ0Usa0JBQWtCLFdBR25CLENBQUMsWUFBWSxDQUFDLGlCQUNSLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osS0FBSyxFQUFFLHVCQUF1QjtxQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgTmdab25lLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICB2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhDaGFydFRvb2x0aXBEYXRhIH0gZnJvbSAnLi9jaGFydC10b29sdGlwLnR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jaGFydC10b29sdGlwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYXJ0LXRvb2x0aXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGFydC10b29sdGlwLmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnYXgtY2hhcnQtdG9vbHRpcC1ob3N0JyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQVhDaGFydFRvb2x0aXBDb21wb25lbnQge1xuICBwcml2YXRlIG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gIGRhdGEgPSBpbnB1dDxBWENoYXJ0VG9vbHRpcERhdGEgfCBudWxsPihudWxsKTtcbiAgcG9zaXRpb24gPSBpbnB1dDx7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0+KHsgeDogMCwgeTogMCB9KTtcbiAgdmlzaWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBzaG93IHRoZSB0b29sdGlwJ3MgcGVyY2VudGFnZSBiYWRnZVxuICAgKi9cbiAgc2hvd1BlcmNlbnRhZ2UgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgY3VzdG9tIHN0eWxpbmcgZm9yIHRoZSB0b29sdGlwXG4gICAqL1xuICBzdHlsZSA9IGlucHV0PHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0+KHt9KTtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRvb2x0aXAgY29udGFpbmVyIGZvciBtZWFzdXJpbmcgZGltZW5zaW9uc1xuICAgKi9cbiAgdG9vbHRpcENvbnRhaW5lciA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50Pj4oJ3Rvb2x0aXBDb250YWluZXInKTtcblxuICAvLyBUb29sdGlwIGRpbWVuc2lvbnNcbiAgcHJvdGVjdGVkIHRvb2x0aXBXaWR0aCA9IDA7XG4gIHByb3RlY3RlZCB0b29sdGlwSGVpZ2h0ID0gMDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgLy8gVXBkYXRlIHRvb2x0aXAgZGltZW5zaW9ucyB3aGVuIHZpc2libGUgY2hhbmdlc1xuICAgICAgdGhpcy51cGRhdGVUb29sdGlwRGltZW5zaW9ucygpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gSGVscGVycyB0byBzdXBwb3J0IGNvbG9yIGFzIHN0cmluZyB8IHN0cmluZ1tdXG4gIHByb3RlY3RlZCBpc0NvbG9yQXJyYXkoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY29sb3IgPSB0aGlzLmRhdGEoKT8uY29sb3IgYXMgdW5rbm93bjtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShjb2xvcik7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29sb3JMaXN0KCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBjb2xvciA9IHRoaXMuZGF0YSgpPy5jb2xvciBhcyB1bmtub3duO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KGNvbG9yKSA/IChjb2xvciBhcyBzdHJpbmdbXSkgOiBbXTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzaW5nbGVDb2xvcigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCBjb2xvciA9IHRoaXMuZGF0YSgpPy5jb2xvciBhcyB1bmtub3duO1xuICAgIHJldHVybiB0eXBlb2YgY29sb3IgPT09ICdzdHJpbmcnID8gKGNvbG9yIGFzIHN0cmluZykgOiBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzVGl0bGVBcnJheSgpOiBib29sZWFuIHtcbiAgICBjb25zdCB0ID0gdGhpcy5kYXRhKCk/LnRpdGxlIGFzIHVua25vd247XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdGl0bGVMaXN0KCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCB0ID0gdGhpcy5kYXRhKCk/LnRpdGxlIGFzIHVua25vd247XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodCkgPyAodCBhcyBzdHJpbmdbXSkgOiBbXTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjb2xvckF0KGluZGV4OiBudW1iZXIpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCBjID0gdGhpcy5kYXRhKCk/LmNvbG9yIGFzIHVua25vd247XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoYykpIHtcbiAgICAgIHJldHVybiAoYyBhcyBzdHJpbmdbXSlbaW5kZXhdID8/IG51bGw7XG4gICAgfVxuICAgIHJldHVybiB0eXBlb2YgYyA9PT0gJ3N0cmluZycgPyAoYyBhcyBzdHJpbmcpIDogbnVsbDtcbiAgfVxuXG4gIHByb3RlY3RlZCBmb3JtYXR0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHYgPSB0aGlzLmRhdGEoKT8udmFsdWU7XG4gICAgaWYgKHYgPT0gbnVsbCkgcmV0dXJuICcnO1xuICAgIGlmICh0eXBlb2YgdiA9PT0gJ251bWJlcicpIHJldHVybiB2LnRvTG9jYWxlU3RyaW5nKCk7XG4gICAgY29uc3QgbnVtID0gTnVtYmVyKHYpO1xuICAgIHJldHVybiBpc05hTihudW0pID8gdiA6IG51bS50b0xvY2FsZVN0cmluZygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdG9vbHRpcCBkaW1lbnNpb25zIGFmdGVyIGl0J3MgcmVuZGVyZWRcbiAgICovXG4gIHByb3RlY3RlZCB1cGRhdGVUb29sdGlwRGltZW5zaW9ucygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudmlzaWJsZSgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgY29uc3QgdG9vbHRpcEVsID0gdGhpcy50b29sdGlwQ29udGFpbmVyKCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGlmICghdG9vbHRpcEVsKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50b29sdGlwV2lkdGggPSB0b29sdGlwRWwub2Zmc2V0V2lkdGg7XG4gICAgICAgIHRoaXMudG9vbHRpcEhlaWdodCA9IHRvb2x0aXBFbC5vZmZzZXRIZWlnaHQ7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWRqdXN0ZWQgdG9vbHRpcCBwb3NpdGlvblxuICAgKiBFeHBvc2VzIHByb3BlcnRpZXMgZm9yIHBhcmVudCBjb21wb25lbnRzIHRvIHF1ZXJ5IHRvb2x0aXAgZGltZW5zaW9uc1xuICAgKi9cbiAgZ2V0RGltZW5zaW9ucygpOiB7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH0ge1xuICAgIHJldHVybiB7XG4gICAgICB3aWR0aDogdGhpcy50b29sdGlwV2lkdGgsXG4gICAgICBoZWlnaHQ6IHRoaXMudG9vbHRpcEhlaWdodCxcbiAgICB9O1xuICB9XG59XG4iLCJAaWYgKHZpc2libGUoKSAmJiBkYXRhKCkpIHtcbiAgPGRpdlxuICAgICN0b29sdGlwQ29udGFpbmVyXG4gICAgY2xhc3M9XCJjaGFydC10b29sdGlwIGNoYXJ0LXRvb2x0aXAtdmlzaWJsZVwiXG4gICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiZGF0YSgpIS50b29sdGlwQmdDb2xvciB8fCBudWxsXCJcbiAgICBbc3R5bGUuY29sb3JdPVwiZGF0YSgpIS50b29sdGlwQ29sb3IgfHwgbnVsbFwiXG4gICAgW3N0eWxlLmxlZnQucHhdPVwicG9zaXRpb24oKS54XCJcbiAgICBbc3R5bGUudG9wLnB4XT1cInBvc2l0aW9uKCkueVwiXG4gICAgW25nU3R5bGVdPVwic3R5bGUoKVwiXG4gICAgYXJpYS1oaWRkZW49XCJmYWxzZVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiY2hhcnQtdG9vbHRpcC1jb250ZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2hhcnQtdG9vbHRpcC1ib2R5XCI+XG4gICAgICAgIEBpZiAoIWlzVGl0bGVBcnJheSgpKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoYXJ0LXRvb2x0aXAtdGl0bGUtcm93XCI+XG4gICAgICAgICAgICBAaWYgKHNpbmdsZUNvbG9yKCkpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoYXJ0LXRvb2x0aXAtY29sb3JcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJzaW5nbGVDb2xvcigpIVwiPjwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoYXJ0LXRvb2x0aXAtdGl0bGVcIj5cbiAgICAgICAgICAgICAge3sgZGF0YSgpIS50aXRsZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGFydC10b29sdGlwLXRpdGxlLWxpc3RcIj5cbiAgICAgICAgICAgIEBmb3IgKHQgb2YgdGl0bGVMaXN0KCk7IGxldCBpID0gJGluZGV4OyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoYXJ0LXRvb2x0aXAtdGl0bGUtcm93XCI+XG4gICAgICAgICAgICAgICAgQGlmIChjb2xvckF0KGkpKSB7XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hhcnQtdG9vbHRpcC1jb2xvclwiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImNvbG9yQXQoaSkhXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGFydC10b29sdGlwLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICB7eyB0IH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoYXJ0LXRvb2x0aXAtdmFsdWUtcm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoYXJ0LXRvb2x0aXAtdmFsdWVcIj57eyBmb3JtYXR0ZWRWYWx1ZSgpIH19PC9kaXY+XG4gICAgICAgICAgQGlmIChzaG93UGVyY2VudGFnZSgpICYmIGRhdGEoKSEucGVyY2VudGFnZSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoYXJ0LXRvb2x0aXAtcGVyY2VudGFnZVwiPlxuICAgICAgICAgICAgICB7eyBkYXRhKCkhLnBlcmNlbnRhZ2UgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNoYXJ0cy1jaGFydC10b29sdGlwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2hhcnRzL2NoYXJ0LXRvb2x0aXAvc3JjL2Fjb3JleC1jaGFydHMtY2hhcnQtdG9vbHRpcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
|
|
@@ -652,8 +652,8 @@ class AXDonutChartComponent extends AXChartComponent {
|
|
|
652
652
|
percentage: `${percentage}%`,
|
|
653
653
|
color,
|
|
654
654
|
});
|
|
655
|
-
this.updateTooltipPosition(event);
|
|
656
655
|
this._tooltipVisible.set(true);
|
|
656
|
+
this.updateTooltipPosition(event);
|
|
657
657
|
}
|
|
658
658
|
/**
|
|
659
659
|
* Handles mouse leave from segments
|
|
@@ -668,16 +668,27 @@ class AXDonutChartComponent extends AXChartComponent {
|
|
|
668
668
|
this._pendingTooltipCoords = { x: event.clientX, y: event.clientY };
|
|
669
669
|
if (this._tooltipRafId != null)
|
|
670
670
|
return;
|
|
671
|
+
this.scheduleTooltipPosition(0);
|
|
672
|
+
}
|
|
673
|
+
scheduleTooltipPosition(attempt) {
|
|
671
674
|
this._tooltipRafId = requestAnimationFrame(() => {
|
|
672
|
-
this._tooltipRafId = null;
|
|
673
675
|
const coords = this._pendingTooltipCoords;
|
|
674
|
-
if (!coords)
|
|
676
|
+
if (!coords) {
|
|
677
|
+
this._tooltipRafId = null;
|
|
675
678
|
return;
|
|
679
|
+
}
|
|
676
680
|
const containerEl = this.chartContainerEl()?.nativeElement;
|
|
677
|
-
if (!containerEl)
|
|
681
|
+
if (!containerEl) {
|
|
682
|
+
this._tooltipRafId = null;
|
|
678
683
|
return;
|
|
679
|
-
|
|
684
|
+
}
|
|
680
685
|
const tooltipEl = containerEl.querySelector('.chart-tooltip');
|
|
686
|
+
if (!tooltipEl && this._tooltipVisible() && attempt < 3) {
|
|
687
|
+
this.scheduleTooltipPosition(attempt + 1);
|
|
688
|
+
return;
|
|
689
|
+
}
|
|
690
|
+
this._tooltipRafId = null;
|
|
691
|
+
const containerRect = containerEl.getBoundingClientRect();
|
|
681
692
|
const tooltipRect = tooltipEl ? tooltipEl.getBoundingClientRect() : null;
|
|
682
693
|
const pos = computeTooltipPosition(containerRect, tooltipRect, coords.x, coords.y, this.TOOLTIP_GAP);
|
|
683
694
|
this._tooltipPosition.set(pos);
|