@acorex/charts 20.1.24 → 20.1.25
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/chart-legend/index.d.ts +1 -1
- package/chart-tooltip/index.d.ts +11 -4
- package/donut-chart/index.d.ts +1 -0
- package/fesm2022/acorex-charts-bar-chart.mjs +7 -15
- package/fesm2022/acorex-charts-bar-chart.mjs.map +1 -1
- package/fesm2022/acorex-charts-chart-legend.mjs +12 -15
- package/fesm2022/acorex-charts-chart-legend.mjs.map +1 -1
- package/fesm2022/acorex-charts-chart-tooltip.mjs +38 -13
- package/fesm2022/acorex-charts-chart-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-charts-donut-chart.mjs +95 -86
- package/fesm2022/acorex-charts-donut-chart.mjs.map +1 -1
- package/fesm2022/acorex-charts-gauge-chart.mjs +33 -30
- package/fesm2022/acorex-charts-gauge-chart.mjs.map +1 -1
- package/fesm2022/acorex-charts-hierarchy-chart.mjs +3 -3
- package/fesm2022/acorex-charts-hierarchy-chart.mjs.map +1 -1
- package/fesm2022/acorex-charts-line-chart.mjs +20 -18
- package/fesm2022/acorex-charts-line-chart.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -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 { input, output, computed,
|
|
4
|
+
import { input, output, viewChild, computed, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
5
5
|
|
|
6
6
|
class AXChartLegendComponent {
|
|
7
7
|
/**
|
|
@@ -29,18 +29,18 @@ class AXChartLegendComponent {
|
|
|
29
29
|
/**
|
|
30
30
|
* Reference to legend container for measuring dimensions
|
|
31
31
|
*/
|
|
32
|
-
legendContainer;
|
|
32
|
+
legendContainer = viewChild('legendContainer', ...(ngDevMode ? [{ debugName: "legendContainer" }] : []));
|
|
33
33
|
// Computed values for the template
|
|
34
34
|
showValues = computed(() => this.options()?.showValues !== false, ...(ngDevMode ? [{ debugName: "showValues" }] : []));
|
|
35
35
|
showPercentage = computed(() => this.options()?.showPercentage !== false, ...(ngDevMode ? [{ debugName: "showPercentage" }] : []));
|
|
36
36
|
containerClass = computed(() => {
|
|
37
37
|
const opts = this.options();
|
|
38
38
|
const className = opts?.className || '';
|
|
39
|
-
const mode = opts?.mode || 'vertical';
|
|
39
|
+
const mode = opts?.mode || 'vertical';
|
|
40
40
|
return {
|
|
41
41
|
'ax-chart-legend': true,
|
|
42
42
|
[className]: !!className,
|
|
43
|
-
[`ax-legend-${mode}`]: true,
|
|
43
|
+
[`ax-legend-${mode}`]: true,
|
|
44
44
|
};
|
|
45
45
|
}, ...(ngDevMode ? [{ debugName: "containerClass" }] : []));
|
|
46
46
|
// Track if the legend is interactive
|
|
@@ -82,24 +82,21 @@ class AXChartLegendComponent {
|
|
|
82
82
|
* Get legend container dimensions
|
|
83
83
|
*/
|
|
84
84
|
getDimensions() {
|
|
85
|
-
if (!this.legendContainer?.nativeElement) {
|
|
85
|
+
if (!this.legendContainer()?.nativeElement) {
|
|
86
86
|
return { width: 0, height: 0 };
|
|
87
87
|
}
|
|
88
88
|
return {
|
|
89
|
-
width: this.legendContainer.nativeElement.offsetWidth,
|
|
90
|
-
height: this.legendContainer.nativeElement.offsetHeight,
|
|
89
|
+
width: this.legendContainer().nativeElement.offsetWidth,
|
|
90
|
+
height: this.legendContainer().nativeElement.offsetHeight,
|
|
91
91
|
};
|
|
92
92
|
}
|
|
93
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.
|
|
94
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.
|
|
93
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXChartLegendComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
94
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.8", type: AXChartLegendComponent, isStandalone: true, selector: "ax-chart-legend", inputs: { chart: { classPropertyName: "chart", publicName: "chart", isSignal: true, isRequired: true, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemClick: "itemClick", itemMouseEnter: "itemMouseEnter", itemMouseLeave: "itemMouseLeave" }, viewQueries: [{ propertyName: "legendContainer", first: true, predicate: ["legendContainer"], descendants: true, isSignal: true }], ngImport: i0, template: "<div #legendContainer [ngClass]=\"containerClass()\">\n @for (item of displayItems(); track item.id) {\n <div class=\"ax-legend-item\" [class.ax-legend-item-hidden]=\"item.hidden\" (click)=\"onItemClick(item)\"\n (mouseenter)=\"onItemMouseEnter(item)\" (mouseleave)=\"onItemMouseLeave(item)\">\n <span class=\"ax-legend-color\" [style.background-color]=\"item.color\"></span>\n <span class=\"ax-legend-name\">{{ item.name }}</span>\n @if (showValues()) {\n <span class=\"ax-legend-value\">{{ item.value | number: '1.0-2' }}</span>\n }\n @if (showPercentage()) {\n <span class=\"ax-legend-percentage\">{{ item.percentage | number: '1.0-2' }}%</span>\n }\n </div>\n }\n</div>", styles: ["ax-chart-legend{display:block;width:100%;height:100%;--ax-legend-bg: var(--ax-sys-color-lightest, #ffffff);--ax-legend-text: var(--ax-sys-color-on-lightest, #333333);--ax-legend-border: var(--ax-sys-color-border, rgba(0, 0, 0, .1));--ax-legend-shadow: 0 2px 8px rgba(0, 0, 0, .06);--ax-legend-radius: .5rem;--ax-legend-padding: .75rem;--ax-legend-gap: .5rem;--ax-legend-item-height: 1.75rem}.ax-dark ax-chart-legend{--ax-legend-bg: var(--ax-sys-color-darkest, #000000);--ax-legend-text: var(--ax-sys-color-on-darkest, #ffffff);--ax-legend-border: var(--ax-sys-color-border, rgba(255, 255, 255, .1))}.ax-chart-legend{display:flex;flex-direction:column;background-color:var(--ax-legend-bg);border-radius:var(--ax-legend-radius);border:1px solid var(--ax-legend-border);box-shadow:var(--ax-legend-shadow);padding:var(--ax-legend-padding);gap:var(--ax-legend-gap);overflow-y:auto;max-height:100%;width:100%}.ax-chart-legend.ax-legend-horizontal{flex-direction:row;flex-wrap:wrap;align-items:center}.ax-legend-item{display:flex;align-items:baseline;gap:.5rem;padding:.25rem .5rem;border-radius:.25rem;cursor:pointer;white-space:nowrap;height:var(--ax-legend-item-height);transition:all .15s ease;color:var(--ax-legend-text)}.ax-legend-item:hover{background-color:#0000000a}.ax-legend-item:active{transform:scale(.98)}.ax-legend-item.ax-legend-item-hidden{opacity:.75}.ax-legend-item.ax-legend-item-hidden>.ax-legend-name{text-decoration:line-through}.ax-legend-item.ax-legend-item-hidden .ax-legend-color{opacity:.4;position:relative}.ax-legend-item.ax-legend-item-hidden .ax-legend-color:after{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.5),rgba(255,255,255,.5) 2px,transparent 2px,transparent 4px);border-radius:inherit}.ax-legend-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.ax-legend-name{font-size:.875rem;font-weight:500}.ax-legend-value{font-size:.75rem;opacity:.7;margin-left:.25rem}.ax-legend-percentage{font-size:.7rem;font-weight:500;margin-left:.35rem;padding:.1rem .35rem;border-radius:.5rem;background-color:#0000000d;line-height:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
95
95
|
}
|
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.
|
|
96
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXChartLegendComponent, decorators: [{
|
|
97
97
|
type: Component,
|
|
98
|
-
args: [{ selector: 'ax-chart-legend', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #legendContainer [ngClass]=\"containerClass()\">\n @for (item of displayItems(); track item.id) {\n
|
|
99
|
-
}]
|
|
100
|
-
type: ViewChild,
|
|
101
|
-
args: ['legendContainer']
|
|
102
|
-
}] } });
|
|
98
|
+
args: [{ selector: 'ax-chart-legend', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div #legendContainer [ngClass]=\"containerClass()\">\n @for (item of displayItems(); track item.id) {\n <div class=\"ax-legend-item\" [class.ax-legend-item-hidden]=\"item.hidden\" (click)=\"onItemClick(item)\"\n (mouseenter)=\"onItemMouseEnter(item)\" (mouseleave)=\"onItemMouseLeave(item)\">\n <span class=\"ax-legend-color\" [style.background-color]=\"item.color\"></span>\n <span class=\"ax-legend-name\">{{ item.name }}</span>\n @if (showValues()) {\n <span class=\"ax-legend-value\">{{ item.value | number: '1.0-2' }}</span>\n }\n @if (showPercentage()) {\n <span class=\"ax-legend-percentage\">{{ item.percentage | number: '1.0-2' }}%</span>\n }\n </div>\n }\n</div>", styles: ["ax-chart-legend{display:block;width:100%;height:100%;--ax-legend-bg: var(--ax-sys-color-lightest, #ffffff);--ax-legend-text: var(--ax-sys-color-on-lightest, #333333);--ax-legend-border: var(--ax-sys-color-border, rgba(0, 0, 0, .1));--ax-legend-shadow: 0 2px 8px rgba(0, 0, 0, .06);--ax-legend-radius: .5rem;--ax-legend-padding: .75rem;--ax-legend-gap: .5rem;--ax-legend-item-height: 1.75rem}.ax-dark ax-chart-legend{--ax-legend-bg: var(--ax-sys-color-darkest, #000000);--ax-legend-text: var(--ax-sys-color-on-darkest, #ffffff);--ax-legend-border: var(--ax-sys-color-border, rgba(255, 255, 255, .1))}.ax-chart-legend{display:flex;flex-direction:column;background-color:var(--ax-legend-bg);border-radius:var(--ax-legend-radius);border:1px solid var(--ax-legend-border);box-shadow:var(--ax-legend-shadow);padding:var(--ax-legend-padding);gap:var(--ax-legend-gap);overflow-y:auto;max-height:100%;width:100%}.ax-chart-legend.ax-legend-horizontal{flex-direction:row;flex-wrap:wrap;align-items:center}.ax-legend-item{display:flex;align-items:baseline;gap:.5rem;padding:.25rem .5rem;border-radius:.25rem;cursor:pointer;white-space:nowrap;height:var(--ax-legend-item-height);transition:all .15s ease;color:var(--ax-legend-text)}.ax-legend-item:hover{background-color:#0000000a}.ax-legend-item:active{transform:scale(.98)}.ax-legend-item.ax-legend-item-hidden{opacity:.75}.ax-legend-item.ax-legend-item-hidden>.ax-legend-name{text-decoration:line-through}.ax-legend-item.ax-legend-item-hidden .ax-legend-color{opacity:.4;position:relative}.ax-legend-item.ax-legend-item-hidden .ax-legend-color:after{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.5),rgba(255,255,255,.5) 2px,transparent 2px,transparent 4px);border-radius:inherit}.ax-legend-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.ax-legend-name{font-size:.875rem;font-weight:500}.ax-legend-value{font-size:.75rem;opacity:.7;margin-left:.25rem}.ax-legend-percentage{font-size:.7rem;font-weight:500;margin-left:.35rem;padding:.1rem .35rem;border-radius:.5rem;background-color:#0000000d;line-height:1}\n"] }]
|
|
99
|
+
}] });
|
|
103
100
|
|
|
104
101
|
/**
|
|
105
102
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-charts-chart-legend.mjs","sources":["../tmp-esm2022/chart-legend/lib/chart-legend.component.js","../tmp-esm2022/chart-legend/acorex-charts-chart-legend.js"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, ViewChild, computed, input, output } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nexport class AXChartLegendComponent {\n /**\n * Chart component instance\n * Must implement AXChartLegendCompatible interface\n */\n chart = input.required(...(ngDevMode ? [{ debugName: \"chart\" }] : []));\n /**\n * Configuration options for the legend\n */\n options = input({}, ...(ngDevMode ? [{ debugName: \"options\" }] : []));\n /**\n * Event emitted when a legend item is clicked\n * Returns the item that was clicked\n */\n itemClick = output();\n /**\n * Event emitted when the mouse enters a legend item\n */\n itemMouseEnter = output();\n /**\n * Event emitted when the mouse leaves a legend item\n */\n itemMouseLeave = output();\n /**\n * Reference to legend container for measuring dimensions\n */\n legendContainer;\n // Computed values for the template\n showValues = computed(() => this.options()?.showValues !== false, ...(ngDevMode ? [{ debugName: \"showValues\" }] : []));\n showPercentage = computed(() => this.options()?.showPercentage !== false, ...(ngDevMode ? [{ debugName: \"showPercentage\" }] : []));\n containerClass = computed(() => {\n const opts = this.options();\n const className = opts?.className || '';\n const mode = opts?.mode || 'vertical'; // Default to vertical\n return {\n 'ax-chart-legend': true,\n [className]: !!className,\n [`ax-legend-${mode}`]: true, // Add mode-specific class\n };\n }, ...(ngDevMode ? [{ debugName: \"containerClass\" }] : []));\n // Track if the legend is interactive\n isInteractive = computed(() => this.options()?.interactive !== false, ...(ngDevMode ? [{ debugName: \"isInteractive\" }] : []));\n // Compute the items to display from the chart\n displayItems = computed(() => {\n return this.chart().getLegendItems();\n }, ...(ngDevMode ? [{ debugName: \"displayItems\" }] : []));\n /**\n * Handle clicks on legend items\n */\n onItemClick(item) {\n const chartInstance = this.chart();\n // If we have a chart and it's interactive, toggle the segment\n if (this.isInteractive()) {\n const isVisible = chartInstance.toggleSegment(item.id);\n // Update the item's hidden state to reflect the current state\n item.hidden = !isVisible;\n }\n // Always emit the item click event\n this.itemClick.emit(item);\n }\n /**\n * Handle mouse enter on legend items\n */\n onItemMouseEnter(item) {\n this.chart().highlightSegment(null);\n this.itemMouseEnter.emit(item);\n this.chart().highlightSegment(item.id);\n }\n /**\n * Handle mouse leave on legend items\n */\n onItemMouseLeave(item) {\n this.itemMouseLeave.emit(item);\n this.chart().highlightSegment(null);\n }\n /**\n * Get legend container dimensions\n */\n getDimensions() {\n if (!this.legendContainer?.nativeElement) {\n return { width: 0, height: 0 };\n }\n return {\n width: this.legendContainer.nativeElement.offsetWidth,\n height: this.legendContainer.nativeElement.offsetHeight,\n };\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: AXChartLegendComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.7\", type: AXChartLegendComponent, isStandalone: true, selector: \"ax-chart-legend\", inputs: { chart: { classPropertyName: \"chart\", publicName: \"chart\", isSignal: true, isRequired: true, transformFunction: null }, options: { classPropertyName: \"options\", publicName: \"options\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemClick: \"itemClick\", itemMouseEnter: \"itemMouseEnter\", itemMouseLeave: \"itemMouseLeave\" }, viewQueries: [{ propertyName: \"legendContainer\", first: true, predicate: [\"legendContainer\"], descendants: true }], ngImport: i0, template: \"<div #legendContainer [ngClass]=\\\"containerClass()\\\">\\n @for (item of displayItems(); track item.id) {\\n <div\\n class=\\\"ax-legend-item\\\"\\n [class.ax-legend-item-hidden]=\\\"item.hidden\\\"\\n (click)=\\\"onItemClick(item)\\\"\\n (mouseenter)=\\\"onItemMouseEnter(item)\\\"\\n (mouseleave)=\\\"onItemMouseLeave(item)\\\"\\n >\\n <span class=\\\"ax-legend-color\\\" [style.background-color]=\\\"item.color\\\"></span>\\n <span class=\\\"ax-legend-name\\\">{{ item.name }}</span>\\n @if (showValues()) {\\n <span class=\\\"ax-legend-value\\\">{{ item.value | number: '1.2-2' }}</span>\\n }\\n @if (showPercentage()) {\\n <span class=\\\"ax-legend-percentage\\\">{{ item.percentage | number: '1.2-2' }}%</span>\\n }\\n </div>\\n }\\n</div>\\n\", styles: [\":host{display:block;width:100%;height:100%;--ax-legend-bg: var(--ax-sys-color-lightest, #ffffff);--ax-legend-text: var(--ax-sys-color-on-lightest, #333333);--ax-legend-border: var(--ax-sys-color-border, rgba(0, 0, 0, .1));--ax-legend-shadow: 0 2px 8px rgba(0, 0, 0, .06);--ax-legend-radius: .5rem;--ax-legend-padding: .75rem;--ax-legend-gap: .5rem;--ax-legend-item-height: 1.75rem}.ax-chart-legend{display:flex;flex-direction:column;background-color:var(--ax-legend-bg);border-radius:var(--ax-legend-radius);border:1px solid var(--ax-legend-border);box-shadow:var(--ax-legend-shadow);padding:var(--ax-legend-padding);gap:var(--ax-legend-gap);overflow-y:auto;max-height:100%;width:100%}.ax-chart-legend.ax-legend-horizontal{flex-direction:row;flex-wrap:wrap;align-items:center}.ax-legend-item{display:flex;align-items:baseline;gap:.5rem;padding:.25rem .5rem;border-radius:.25rem;cursor:pointer;white-space:nowrap;height:var(--ax-legend-item-height);transition:all .15s ease;color:var(--ax-legend-text)}.ax-legend-item:hover{background-color:#0000000a}.ax-legend-item:active{transform:scale(.98)}.ax-legend-item.ax-legend-item-hidden{opacity:.75}.ax-legend-item.ax-legend-item-hidden>.ax-legend-name{text-decoration:line-through}.ax-legend-item.ax-legend-item-hidden .ax-legend-color{opacity:.4;position:relative}.ax-legend-item.ax-legend-item-hidden .ax-legend-color:after{content:\\\"\\\";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.5),rgba(255,255,255,.5) 2px,transparent 2px,transparent 4px);border-radius:inherit}.ax-legend-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.ax-legend-name{font-size:.875rem;font-weight:500}.ax-legend-value{font-size:.75rem;opacity:.7;margin-left:.25rem}.ax-legend-percentage{font-size:.7rem;font-weight:500;margin-left:.35rem;padding:.1rem .35rem;border-radius:.5rem;background-color:#0000000d;line-height:1}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"pipe\", type: i1.DecimalPipe, name: \"number\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: AXChartLegendComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-chart-legend', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: \"<div #legendContainer [ngClass]=\\\"containerClass()\\\">\\n @for (item of displayItems(); track item.id) {\\n <div\\n class=\\\"ax-legend-item\\\"\\n [class.ax-legend-item-hidden]=\\\"item.hidden\\\"\\n (click)=\\\"onItemClick(item)\\\"\\n (mouseenter)=\\\"onItemMouseEnter(item)\\\"\\n (mouseleave)=\\\"onItemMouseLeave(item)\\\"\\n >\\n <span class=\\\"ax-legend-color\\\" [style.background-color]=\\\"item.color\\\"></span>\\n <span class=\\\"ax-legend-name\\\">{{ item.name }}</span>\\n @if (showValues()) {\\n <span class=\\\"ax-legend-value\\\">{{ item.value | number: '1.2-2' }}</span>\\n }\\n @if (showPercentage()) {\\n <span class=\\\"ax-legend-percentage\\\">{{ item.percentage | number: '1.2-2' }}%</span>\\n }\\n </div>\\n }\\n</div>\\n\", styles: [\":host{display:block;width:100%;height:100%;--ax-legend-bg: var(--ax-sys-color-lightest, #ffffff);--ax-legend-text: var(--ax-sys-color-on-lightest, #333333);--ax-legend-border: var(--ax-sys-color-border, rgba(0, 0, 0, .1));--ax-legend-shadow: 0 2px 8px rgba(0, 0, 0, .06);--ax-legend-radius: .5rem;--ax-legend-padding: .75rem;--ax-legend-gap: .5rem;--ax-legend-item-height: 1.75rem}.ax-chart-legend{display:flex;flex-direction:column;background-color:var(--ax-legend-bg);border-radius:var(--ax-legend-radius);border:1px solid var(--ax-legend-border);box-shadow:var(--ax-legend-shadow);padding:var(--ax-legend-padding);gap:var(--ax-legend-gap);overflow-y:auto;max-height:100%;width:100%}.ax-chart-legend.ax-legend-horizontal{flex-direction:row;flex-wrap:wrap;align-items:center}.ax-legend-item{display:flex;align-items:baseline;gap:.5rem;padding:.25rem .5rem;border-radius:.25rem;cursor:pointer;white-space:nowrap;height:var(--ax-legend-item-height);transition:all .15s ease;color:var(--ax-legend-text)}.ax-legend-item:hover{background-color:#0000000a}.ax-legend-item:active{transform:scale(.98)}.ax-legend-item.ax-legend-item-hidden{opacity:.75}.ax-legend-item.ax-legend-item-hidden>.ax-legend-name{text-decoration:line-through}.ax-legend-item.ax-legend-item-hidden .ax-legend-color{opacity:.4;position:relative}.ax-legend-item.ax-legend-item-hidden .ax-legend-color:after{content:\\\"\\\";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.5),rgba(255,255,255,.5) 2px,transparent 2px,transparent 4px);border-radius:inherit}.ax-legend-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.ax-legend-name{font-size:.875rem;font-weight:500}.ax-legend-value{font-size:.75rem;opacity:.7;margin-left:.25rem}.ax-legend-percentage{font-size:.7rem;font-weight:500;margin-left:.35rem;padding:.1rem .35rem;border-radius:.5rem;background-color:#0000000d;line-height:1}\\n\"] }]\n }], propDecorators: { legendContainer: [{\n type: ViewChild,\n args: ['legendContainer']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtbGVnZW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NoYXJ0cy9jaGFydC1sZWdlbmQvc3JjL2xpYi9jaGFydC1sZWdlbmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2hhcnRzL2NoYXJ0LWxlZ2VuZC9zcmMvbGliL2NoYXJ0LWxlZ2VuZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFXbkgsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQzs7O09BR0c7SUFDSCxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsZ0RBQTJCLENBQUM7SUFFbEQ7O09BRUc7SUFDSCxPQUFPLEdBQUcsS0FBSyxDQUF1QixFQUFFLG1EQUFDLENBQUM7SUFFMUM7OztPQUdHO0lBQ0gsU0FBUyxHQUFHLE1BQU0sRUFBcUIsQ0FBQztJQUV4Qzs7T0FFRztJQUNILGNBQWMsR0FBRyxNQUFNLEVBQXFCLENBQUM7SUFFN0M7O09BRUc7SUFDSCxjQUFjLEdBQUcsTUFBTSxFQUFxQixDQUFDO0lBRTdDOztPQUVHO0lBQzJCLGVBQWUsQ0FBOEI7SUFFM0UsbUNBQW1DO0lBQ3pCLFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLFVBQVUsS0FBSyxLQUFLLHNEQUFDLENBQUM7SUFDbEUsY0FBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsY0FBYyxLQUFLLEtBQUssMERBQUMsQ0FB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IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBWaWV3Q2hpbGQsIGNvbXB1dGVkLCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWENoYXJ0TGVnZW5kQ29tcGF0aWJsZSwgQVhDaGFydExlZ2VuZEl0ZW0sIEFYQ2hhcnRMZWdlbmRPcHRpb25zIH0gZnJvbSAnLi9jaGFydC1sZWdlbmQudHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWNoYXJ0LWxlZ2VuZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFydC1sZWdlbmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGFydC1sZWdlbmQuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBWENoYXJ0TGVnZW5kQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIENoYXJ0IGNvbXBvbmVudCBpbnN0YW5jZVxuICAgKiBNdXN0IGltcGxlbWVudCBBWENoYXJ0TGVnZW5kQ29tcGF0aWJsZSBpbnRlcmZhY2VcbiAgICovXG4gIGNoYXJ0ID0gaW5wdXQucmVxdWlyZWQ8QVhDaGFydExlZ2VuZENvbXBhdGlibGU+KCk7XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIGxlZ2VuZFxuICAgKi9cbiAgb3B0aW9ucyA9IGlucHV0PEFYQ2hhcnRMZWdlbmRPcHRpb25zPih7fSk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIGxlZ2VuZCBpdGVtIGlzIGNsaWNrZWRcbiAgICogUmV0dXJucyB0aGUgaXRlbSB0aGF0IHdhcyBjbGlja2VkXG4gICAqL1xuICBpdGVtQ2xpY2sgPSBvdXRwdXQ8QVhDaGFydExlZ2VuZEl0ZW0+KCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgbW91c2UgZW50ZXJzIGEgbGVnZW5kIGl0ZW1cbiAgICovXG4gIGl0ZW1Nb3VzZUVudGVyID0gb3V0cHV0PEFYQ2hhcnRMZWdlbmRJdGVtPigpO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIG1vdXNlIGxlYXZlcyBhIGxlZ2VuZCBpdGVtXG4gICAqL1xuICBpdGVtTW91c2VMZWF2ZSA9IG91dHB1dDxBWENoYXJ0TGVnZW5kSXRlbT4oKTtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIGxlZ2VuZCBjb250YWluZXIgZm9yIG1lYXN1cmluZyBkaW1lbnNpb25zXG4gICAqL1xuICBAVmlld0NoaWxkKCdsZWdlbmRDb250YWluZXInKSBsZWdlbmRDb250YWluZXI/OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICAvLyBDb21wdXRlZCB2YWx1ZXMgZm9yIHRoZSB0ZW1wbGF0ZVxuICBwcm90ZWN0ZWQgc2hvd1ZhbHVlcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMub3B0aW9ucygpPy5zaG93VmFsdWVzICE9PSBmYWxzZSk7XG4gIHByb3RlY3RlZCBzaG93UGVyY2VudGFnZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMub3B0aW9ucygpPy5zaG93UGVyY2VudGFnZSAhPT0gZmFsc2UpO1xuICBwcm90ZWN0ZWQgY29udGFpbmVyQ2xhc3MgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgb3B0cyA9IHRoaXMub3B0aW9ucygpO1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IG9wdHM/LmNsYXNzTmFtZSB8fCAnJztcbiAgICBjb25zdCBtb2RlID0gb3B0cz8ubW9kZSB8fCAndmVydGljYWwnOyAvLyBEZWZhdWx0IHRvIHZlcnRpY2FsXG4gICAgcmV0dXJuIHtcbiAgICAgICdheC1jaGFydC1sZWdlbmQnOiB0cnVlLFxuICAgICAgW2NsYXNzTmFtZV06ICEhY2xhc3NOYW1lLFxuICAgICAgW2BheC1sZWdlbmQtJHttb2RlfWBdOiB0cnVlLCAvLyBBZGQgbW9kZS1zcGVjaWZpYyBjbGFzc1xuICAgIH07XG4gIH0pO1xuXG4gIC8vIFRyYWNrIGlmIHRoZSBsZWdlbmQgaXMgaW50ZXJhY3RpdmVcbiAgcHJvdGVjdGVkIGlzSW50ZXJhY3RpdmUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm9wdGlvbnMoKT8uaW50ZXJhY3RpdmUgIT09IGZhbHNlKTtcblxuICAvLyBDb21wdXRlIHRoZSBpdGVtcyB0byBkaXNwbGF5IGZyb20gdGhlIGNoYXJ0XG4gIHByb3RlY3RlZCBkaXNwbGF5SXRlbXMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuY2hhcnQoKS5nZXRMZWdlbmRJdGVtcygpO1xuICB9KTtcblxuICAvKipcbiAgICogSGFuZGxlIGNsaWNrcyBvbiBsZWdlbmQgaXRlbXNcbiAgICovXG4gIHByb3RlY3RlZCBvbkl0ZW1DbGljayhpdGVtOiBBWENoYXJ0TGVnZW5kSXRlbSk6IHZvaWQge1xuICAgIGNvbnN0IGNoYXJ0SW5zdGFuY2UgPSB0aGlzLmNoYXJ0KCk7XG5cbiAgICAvLyBJZiB3ZSBoYXZlIGEgY2hhcnQgYW5kIGl0J3MgaW50ZXJhY3RpdmUsIHRvZ2dsZSB0aGUgc2VnbWVudFxuICAgIGlmICh0aGlzLmlzSW50ZXJhY3RpdmUoKSkge1xuICAgICAgY29uc3QgaXNWaXNpYmxlID0gY2hhcnRJbnN0YW5jZS50b2dnbGVTZWdtZW50KGl0ZW0uaWQpO1xuICAgICAgLy8gVXBkYXRlIHRoZSBpdGVtJ3MgaGlkZGVuIHN0YXRlIHRvIHJlZmxlY3QgdGhlIGN1cnJlbnQgc3RhdGVcbiAgICAgIGl0ZW0uaGlkZGVuID0gIWlzVmlzaWJsZTtcbiAgICB9XG5cbiAgICAvLyBBbHdheXMgZW1pdCB0aGUgaXRlbSBjbGljayBldmVudFxuICAgIHRoaXMuaXRlbUNsaWNrLmVtaXQoaXRlbSk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIG1vdXNlIGVudGVyIG9uIGxlZ2VuZCBpdGVtc1xuICAgKi9cbiAgcHJvdGVjdGVkIG9uSXRlbU1vdXNlRW50ZXIoaXRlbTogQVhDaGFydExlZ2VuZEl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLmNoYXJ0KCkuaGlnaGxpZ2h0U2VnbWVudChudWxsKTtcbiAgICB0aGlzLml0ZW1Nb3VzZUVudGVyLmVtaXQoaXRlbSk7XG4gICAgdGhpcy5jaGFydCgpLmhpZ2hsaWdodFNlZ21lbnQoaXRlbS5pZCk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIG1vdXNlIGxlYXZlIG9uIGxlZ2VuZCBpdGVtc1xuICAgKi9cbiAgcHJvdGVjdGVkIG9uSXRlbU1vdXNlTGVhdmUoaXRlbTogQVhDaGFydExlZ2VuZEl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1Nb3VzZUxlYXZlLmVtaXQoaXRlbSk7XG4gICAgdGhpcy5jaGFydCgpLmhpZ2hsaWdodFNlZ21lbnQobnVsbCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxlZ2VuZCBjb250YWluZXIgZGltZW5zaW9uc1xuICAgKi9cbiAgZ2V0RGltZW5zaW9ucygpOiB7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH0ge1xuICAgIGlmICghdGhpcy5sZWdlbmRDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHJldHVybiB7IHdpZHRoOiAwLCBoZWlnaHQ6IDAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgd2lkdGg6IHRoaXMubGVnZW5kQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgsXG4gICAgICBoZWlnaHQ6IHRoaXMubGVnZW5kQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0LFxuICAgIH07XG4gIH1cbn1cbiIsIjxkaXYgI2xlZ2VuZENvbnRhaW5lciBbbmdDbGFzc109XCJjb250YWluZXJDbGFzcygpXCI+XG4gIEBmb3IgKGl0ZW0gb2YgZGlzcGxheUl0ZW1zKCk7IHRyYWNrIGl0ZW0uaWQpIHtcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImF4LWxlZ2VuZC1pdGVtXCJcbiAgICAgIFtjbGFzcy5heC1sZWdlbmQtaXRlbS1oaWRkZW5dPVwiaXRlbS5oaWRkZW5cIlxuICAgICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKGl0ZW0pXCJcbiAgICAgIChtb3VzZWVudGVyKT1cIm9uSXRlbU1vdXNlRW50ZXIoaXRlbSlcIlxuICAgICAgKG1vdXNlbGVhdmUpPVwib25JdGVtTW91c2VMZWF2ZShpdGVtKVwiXG4gICAgPlxuICAgICAgPHNwYW4gY2xhc3M9XCJheC1sZWdlbmQtY29sb3JcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJpdGVtLmNvbG9yXCI+PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJheC1sZWdlbmQtbmFtZVwiPnt7IGl0ZW0ubmFtZSB9fTwvc3Bhbj5cbiAgICAgIEBpZiAoc2hvd1ZhbHVlcygpKSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtbGVnZW5kLXZhbHVlXCI+e3sgaXRlbS52YWx1ZSB8IG51bWJlcjogJzEuMi0yJyB9fTwvc3Bhbj5cbiAgICAgIH1cbiAgICAgIEBpZiAoc2hvd1BlcmNlbnRhZ2UoKSkge1xuICAgICAgICA8c3BhbiBjbGFzcz1cImF4LWxlZ2VuZC1wZXJjZW50YWdlXCI+e3sgaXRlbS5wZXJjZW50YWdlIHwgbnVtYmVyOiAnMS4yLTInIH19JTwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNoYXJ0cy1jaGFydC1sZWdlbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jaGFydHMvY2hhcnQtbGVnZW5kL3NyYy9hY29yZXgtY2hhcnRzLWNoYXJ0LWxlZ2VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-charts-chart-legend.mjs","sources":["../tmp-esm2022/chart-legend/lib/chart-legend.component.js","../tmp-esm2022/chart-legend/acorex-charts-chart-legend.js"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, computed, input, output, viewChild } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nexport class AXChartLegendComponent {\n /**\n * Chart component instance\n * Must implement AXChartLegendCompatible interface\n */\n chart = input.required(...(ngDevMode ? [{ debugName: \"chart\" }] : []));\n /**\n * Configuration options for the legend\n */\n options = input({}, ...(ngDevMode ? [{ debugName: \"options\" }] : []));\n /**\n * Event emitted when a legend item is clicked\n * Returns the item that was clicked\n */\n itemClick = output();\n /**\n * Event emitted when the mouse enters a legend item\n */\n itemMouseEnter = output();\n /**\n * Event emitted when the mouse leaves a legend item\n */\n itemMouseLeave = output();\n /**\n * Reference to legend container for measuring dimensions\n */\n legendContainer = viewChild('legendContainer', ...(ngDevMode ? [{ debugName: \"legendContainer\" }] : []));\n // Computed values for the template\n showValues = computed(() => this.options()?.showValues !== false, ...(ngDevMode ? [{ debugName: \"showValues\" }] : []));\n showPercentage = computed(() => this.options()?.showPercentage !== false, ...(ngDevMode ? [{ debugName: \"showPercentage\" }] : []));\n containerClass = computed(() => {\n const opts = this.options();\n const className = opts?.className || '';\n const mode = opts?.mode || 'vertical';\n return {\n 'ax-chart-legend': true,\n [className]: !!className,\n [`ax-legend-${mode}`]: true,\n };\n }, ...(ngDevMode ? [{ debugName: \"containerClass\" }] : []));\n // Track if the legend is interactive\n isInteractive = computed(() => this.options()?.interactive !== false, ...(ngDevMode ? [{ debugName: \"isInteractive\" }] : []));\n // Compute the items to display from the chart\n displayItems = computed(() => {\n return this.chart().getLegendItems();\n }, ...(ngDevMode ? [{ debugName: \"displayItems\" }] : []));\n /**\n * Handle clicks on legend items\n */\n onItemClick(item) {\n const chartInstance = this.chart();\n // If we have a chart and it's interactive, toggle the segment\n if (this.isInteractive()) {\n const isVisible = chartInstance.toggleSegment(item.id);\n // Update the item's hidden state to reflect the current state\n item.hidden = !isVisible;\n }\n // Always emit the item click event\n this.itemClick.emit(item);\n }\n /**\n * Handle mouse enter on legend items\n */\n onItemMouseEnter(item) {\n this.chart().highlightSegment(null);\n this.itemMouseEnter.emit(item);\n this.chart().highlightSegment(item.id);\n }\n /**\n * Handle mouse leave on legend items\n */\n onItemMouseLeave(item) {\n this.itemMouseLeave.emit(item);\n this.chart().highlightSegment(null);\n }\n /**\n * Get legend container dimensions\n */\n getDimensions() {\n if (!this.legendContainer()?.nativeElement) {\n return { width: 0, height: 0 };\n }\n return {\n width: this.legendContainer().nativeElement.offsetWidth,\n height: this.legendContainer().nativeElement.offsetHeight,\n };\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXChartLegendComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: AXChartLegendComponent, isStandalone: true, selector: \"ax-chart-legend\", inputs: { chart: { classPropertyName: \"chart\", publicName: \"chart\", isSignal: true, isRequired: true, transformFunction: null }, options: { classPropertyName: \"options\", publicName: \"options\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemClick: \"itemClick\", itemMouseEnter: \"itemMouseEnter\", itemMouseLeave: \"itemMouseLeave\" }, viewQueries: [{ propertyName: \"legendContainer\", first: true, predicate: [\"legendContainer\"], descendants: true, isSignal: true }], ngImport: i0, template: \"<div #legendContainer [ngClass]=\\\"containerClass()\\\">\\n @for (item of displayItems(); track item.id) {\\n <div class=\\\"ax-legend-item\\\" [class.ax-legend-item-hidden]=\\\"item.hidden\\\" (click)=\\\"onItemClick(item)\\\"\\n (mouseenter)=\\\"onItemMouseEnter(item)\\\" (mouseleave)=\\\"onItemMouseLeave(item)\\\">\\n <span class=\\\"ax-legend-color\\\" [style.background-color]=\\\"item.color\\\"></span>\\n <span class=\\\"ax-legend-name\\\">{{ item.name }}</span>\\n @if (showValues()) {\\n <span class=\\\"ax-legend-value\\\">{{ item.value | number: '1.0-2' }}</span>\\n }\\n @if (showPercentage()) {\\n <span class=\\\"ax-legend-percentage\\\">{{ item.percentage | number: '1.0-2' }}%</span>\\n }\\n </div>\\n }\\n</div>\", styles: [\"ax-chart-legend{display:block;width:100%;height:100%;--ax-legend-bg: var(--ax-sys-color-lightest, #ffffff);--ax-legend-text: var(--ax-sys-color-on-lightest, #333333);--ax-legend-border: var(--ax-sys-color-border, rgba(0, 0, 0, .1));--ax-legend-shadow: 0 2px 8px rgba(0, 0, 0, .06);--ax-legend-radius: .5rem;--ax-legend-padding: .75rem;--ax-legend-gap: .5rem;--ax-legend-item-height: 1.75rem}.ax-dark ax-chart-legend{--ax-legend-bg: var(--ax-sys-color-darkest, #000000);--ax-legend-text: var(--ax-sys-color-on-darkest, #ffffff);--ax-legend-border: var(--ax-sys-color-border, rgba(255, 255, 255, .1))}.ax-chart-legend{display:flex;flex-direction:column;background-color:var(--ax-legend-bg);border-radius:var(--ax-legend-radius);border:1px solid var(--ax-legend-border);box-shadow:var(--ax-legend-shadow);padding:var(--ax-legend-padding);gap:var(--ax-legend-gap);overflow-y:auto;max-height:100%;width:100%}.ax-chart-legend.ax-legend-horizontal{flex-direction:row;flex-wrap:wrap;align-items:center}.ax-legend-item{display:flex;align-items:baseline;gap:.5rem;padding:.25rem .5rem;border-radius:.25rem;cursor:pointer;white-space:nowrap;height:var(--ax-legend-item-height);transition:all .15s ease;color:var(--ax-legend-text)}.ax-legend-item:hover{background-color:#0000000a}.ax-legend-item:active{transform:scale(.98)}.ax-legend-item.ax-legend-item-hidden{opacity:.75}.ax-legend-item.ax-legend-item-hidden>.ax-legend-name{text-decoration:line-through}.ax-legend-item.ax-legend-item-hidden .ax-legend-color{opacity:.4;position:relative}.ax-legend-item.ax-legend-item-hidden .ax-legend-color:after{content:\\\"\\\";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.5),rgba(255,255,255,.5) 2px,transparent 2px,transparent 4px);border-radius:inherit}.ax-legend-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.ax-legend-name{font-size:.875rem;font-weight:500}.ax-legend-value{font-size:.75rem;opacity:.7;margin-left:.25rem}.ax-legend-percentage{font-size:.7rem;font-weight:500;margin-left:.35rem;padding:.1rem .35rem;border-radius:.5rem;background-color:#0000000d;line-height:1}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"pipe\", type: i1.DecimalPipe, name: \"number\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXChartLegendComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-chart-legend', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: \"<div #legendContainer [ngClass]=\\\"containerClass()\\\">\\n @for (item of displayItems(); track item.id) {\\n <div class=\\\"ax-legend-item\\\" [class.ax-legend-item-hidden]=\\\"item.hidden\\\" (click)=\\\"onItemClick(item)\\\"\\n (mouseenter)=\\\"onItemMouseEnter(item)\\\" (mouseleave)=\\\"onItemMouseLeave(item)\\\">\\n <span class=\\\"ax-legend-color\\\" [style.background-color]=\\\"item.color\\\"></span>\\n <span class=\\\"ax-legend-name\\\">{{ item.name }}</span>\\n @if (showValues()) {\\n <span class=\\\"ax-legend-value\\\">{{ item.value | number: '1.0-2' }}</span>\\n }\\n @if (showPercentage()) {\\n <span class=\\\"ax-legend-percentage\\\">{{ item.percentage | number: '1.0-2' }}%</span>\\n }\\n </div>\\n }\\n</div>\", styles: [\"ax-chart-legend{display:block;width:100%;height:100%;--ax-legend-bg: var(--ax-sys-color-lightest, #ffffff);--ax-legend-text: var(--ax-sys-color-on-lightest, #333333);--ax-legend-border: var(--ax-sys-color-border, rgba(0, 0, 0, .1));--ax-legend-shadow: 0 2px 8px rgba(0, 0, 0, .06);--ax-legend-radius: .5rem;--ax-legend-padding: .75rem;--ax-legend-gap: .5rem;--ax-legend-item-height: 1.75rem}.ax-dark ax-chart-legend{--ax-legend-bg: var(--ax-sys-color-darkest, #000000);--ax-legend-text: var(--ax-sys-color-on-darkest, #ffffff);--ax-legend-border: var(--ax-sys-color-border, rgba(255, 255, 255, .1))}.ax-chart-legend{display:flex;flex-direction:column;background-color:var(--ax-legend-bg);border-radius:var(--ax-legend-radius);border:1px solid var(--ax-legend-border);box-shadow:var(--ax-legend-shadow);padding:var(--ax-legend-padding);gap:var(--ax-legend-gap);overflow-y:auto;max-height:100%;width:100%}.ax-chart-legend.ax-legend-horizontal{flex-direction:row;flex-wrap:wrap;align-items:center}.ax-legend-item{display:flex;align-items:baseline;gap:.5rem;padding:.25rem .5rem;border-radius:.25rem;cursor:pointer;white-space:nowrap;height:var(--ax-legend-item-height);transition:all .15s ease;color:var(--ax-legend-text)}.ax-legend-item:hover{background-color:#0000000a}.ax-legend-item:active{transform:scale(.98)}.ax-legend-item.ax-legend-item-hidden{opacity:.75}.ax-legend-item.ax-legend-item-hidden>.ax-legend-name{text-decoration:line-through}.ax-legend-item.ax-legend-item-hidden .ax-legend-color{opacity:.4;position:relative}.ax-legend-item.ax-legend-item-hidden .ax-legend-color:after{content:\\\"\\\";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.5),rgba(255,255,255,.5) 2px,transparent 2px,transparent 4px);border-radius:inherit}.ax-legend-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.ax-legend-name{font-size:.875rem;font-weight:500}.ax-legend-value{font-size:.75rem;opacity:.7;margin-left:.25rem}.ax-legend-percentage{font-size:.7rem;font-weight:500;margin-left:.35rem;padding:.1rem .35rem;border-radius:.5rem;background-color:#0000000d;line-height:1}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtbGVnZW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NoYXJ0cy9jaGFydC1sZWdlbmQvc3JjL2xpYi9jaGFydC1sZWdlbmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2hhcnRzL2NoYXJ0LWxlZ2VuZC9zcmMvbGliL2NoYXJ0LWxlZ2VuZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBeUIsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFZakosTUFBTSxPQUFPLHNCQUFzQjtJQUNqQzs7O09BR0c7SUFDSCxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsZ0RBQTJCLENBQUM7SUFFbEQ7O09BRUc7SUFDSCxPQUFPLEdBQUcsS0FBSyxDQUF1QixFQUFFLG1EQUFDLENBQUM7SUFFMUM7OztPQUdHO0lBQ0gsU0FBUyxHQUFHLE1BQU0sRUFBcUIsQ0FBQztJQUV4Qzs7T0FFRztJQUNILGNBQWMsR0FBRyxNQUFNLEVBQXFCLENBQUM7SUFFN0M7O09BRUc7SUFDSCxjQUFjLEdBQUcsTUFBTSxFQUFxQixDQUFDO0lBRTdDOztPQUVHO0lBQ0gsZUFBZSxHQUFHLFNBQVMsQ0FBNkIsaUJBQWlCLDJEQUFDLENBQUM7SUFFM0UsbUNBQW1DO0lBQ3pCLFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLFVBQVUsS0FBSyxLQUFLLHNEQUFDLENBQUM7SUFDbEUsY0FBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFF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ZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uLCBjb21wdXRlZCwgaW5wdXQsIG91dHB1dCwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWENoYXJ0TGVnZW5kQ29tcGF0aWJsZSwgQVhDaGFydExlZ2VuZEl0ZW0sIEFYQ2hhcnRMZWdlbmRPcHRpb25zIH0gZnJvbSAnLi9jaGFydC1sZWdlbmQudHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWNoYXJ0LWxlZ2VuZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFydC1sZWdlbmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGFydC1sZWdlbmQuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBWENoYXJ0TGVnZW5kQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIENoYXJ0IGNvbXBvbmVudCBpbnN0YW5jZVxuICAgKiBNdXN0IGltcGxlbWVudCBBWENoYXJ0TGVnZW5kQ29tcGF0aWJsZSBpbnRlcmZhY2VcbiAgICovXG4gIGNoYXJ0ID0gaW5wdXQucmVxdWlyZWQ8QVhDaGFydExlZ2VuZENvbXBhdGlibGU+KCk7XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIGxlZ2VuZFxuICAgKi9cbiAgb3B0aW9ucyA9IGlucHV0PEFYQ2hhcnRMZWdlbmRPcHRpb25zPih7fSk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIGxlZ2VuZCBpdGVtIGlzIGNsaWNrZWRcbiAgICogUmV0dXJucyB0aGUgaXRlbSB0aGF0IHdhcyBjbGlja2VkXG4gICAqL1xuICBpdGVtQ2xpY2sgPSBvdXRwdXQ8QVhDaGFydExlZ2VuZEl0ZW0+KCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgbW91c2UgZW50ZXJzIGEgbGVnZW5kIGl0ZW1cbiAgICovXG4gIGl0ZW1Nb3VzZUVudGVyID0gb3V0cHV0PEFYQ2hhcnRMZWdlbmRJdGVtPigpO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIG1vdXNlIGxlYXZlcyBhIGxlZ2VuZCBpdGVtXG4gICAqL1xuICBpdGVtTW91c2VMZWF2ZSA9IG91dHB1dDxBWENoYXJ0TGVnZW5kSXRlbT4oKTtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIGxlZ2VuZCBjb250YWluZXIgZm9yIG1lYXN1cmluZyBkaW1lbnNpb25zXG4gICAqL1xuICBsZWdlbmRDb250YWluZXIgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4+KCdsZWdlbmRDb250YWluZXInKTtcblxuICAvLyBDb21wdXRlZCB2YWx1ZXMgZm9yIHRoZSB0ZW1wbGF0ZVxuICBwcm90ZWN0ZWQgc2hvd1ZhbHVlcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMub3B0aW9ucygpPy5zaG93VmFsdWVzICE9PSBmYWxzZSk7XG4gIHByb3RlY3RlZCBzaG93UGVyY2VudGFnZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMub3B0aW9ucygpPy5zaG93UGVyY2VudGFnZSAhPT0gZmFsc2UpO1xuICBwcm90ZWN0ZWQgY29udGFpbmVyQ2xhc3MgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgb3B0cyA9IHRoaXMub3B0aW9ucygpO1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IG9wdHM/LmNsYXNzTmFtZSB8fCAnJztcbiAgICBjb25zdCBtb2RlID0gb3B0cz8ubW9kZSB8fCAndmVydGljYWwnO1xuICAgIHJldHVybiB7XG4gICAgICAnYXgtY2hhcnQtbGVnZW5kJzogdHJ1ZSxcbiAgICAgIFtjbGFzc05hbWVdOiAhIWNsYXNzTmFtZSxcbiAgICAgIFtgYXgtbGVnZW5kLSR7bW9kZX1gXTogdHJ1ZSxcbiAgICB9O1xuICB9KTtcblxuICAvLyBUcmFjayBpZiB0aGUgbGVnZW5kIGlzIGludGVyYWN0aXZlXG4gIHByb3RlY3RlZCBpc0ludGVyYWN0aXZlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5vcHRpb25zKCk/LmludGVyYWN0aXZlICE9PSBmYWxzZSk7XG5cbiAgLy8gQ29tcHV0ZSB0aGUgaXRlbXMgdG8gZGlzcGxheSBmcm9tIHRoZSBjaGFydFxuICBwcm90ZWN0ZWQgZGlzcGxheUl0ZW1zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmNoYXJ0KCkuZ2V0TGVnZW5kSXRlbXMoKTtcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEhhbmRsZSBjbGlja3Mgb24gbGVnZW5kIGl0ZW1zXG4gICAqL1xuICBwcm90ZWN0ZWQgb25JdGVtQ2xpY2soaXRlbTogQVhDaGFydExlZ2VuZEl0ZW0pOiB2b2lkIHtcbiAgICBjb25zdCBjaGFydEluc3RhbmNlID0gdGhpcy5jaGFydCgpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGNoYXJ0IGFuZCBpdCdzIGludGVyYWN0aXZlLCB0b2dnbGUgdGhlIHNlZ21lbnRcbiAgICBpZiAodGhpcy5pc0ludGVyYWN0aXZlKCkpIHtcbiAgICAgIGNvbnN0IGlzVmlzaWJsZSA9IGNoYXJ0SW5zdGFuY2UudG9nZ2xlU2VnbWVudChpdGVtLmlkKTtcbiAgICAgIC8vIFVwZGF0ZSB0aGUgaXRlbSdzIGhpZGRlbiBzdGF0ZSB0byByZWZsZWN0IHRoZSBjdXJyZW50IHN0YXRlXG4gICAgICBpdGVtLmhpZGRlbiA9ICFpc1Zpc2libGU7XG4gICAgfVxuXG4gICAgLy8gQWx3YXlzIGVtaXQgdGhlIGl0ZW0gY2xpY2sgZXZlbnRcbiAgICB0aGlzLml0ZW1DbGljay5lbWl0KGl0ZW0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZSBtb3VzZSBlbnRlciBvbiBsZWdlbmQgaXRlbXNcbiAgICovXG4gIHByb3RlY3RlZCBvbkl0ZW1Nb3VzZUVudGVyKGl0ZW06IEFYQ2hhcnRMZWdlbmRJdGVtKTogdm9pZCB7XG4gICAgdGhpcy5jaGFydCgpLmhpZ2hsaWdodFNlZ21lbnQobnVsbCk7XG4gICAgdGhpcy5pdGVtTW91c2VFbnRlci5lbWl0KGl0ZW0pO1xuICAgIHRoaXMuY2hhcnQoKS5oaWdobGlnaHRTZWdtZW50KGl0ZW0uaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZSBtb3VzZSBsZWF2ZSBvbiBsZWdlbmQgaXRlbXNcbiAgICovXG4gIHByb3RlY3RlZCBvbkl0ZW1Nb3VzZUxlYXZlKGl0ZW06IEFYQ2hhcnRMZWdlbmRJdGVtKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtTW91c2VMZWF2ZS5lbWl0KGl0ZW0pO1xuICAgIHRoaXMuY2hhcnQoKS5oaWdobGlnaHRTZWdtZW50KG51bGwpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBsZWdlbmQgY29udGFpbmVyIGRpbWVuc2lvbnNcbiAgICovXG4gIGdldERpbWVuc2lvbnMoKTogeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlciB9IHtcbiAgICBpZiAoIXRoaXMubGVnZW5kQ29udGFpbmVyKCk/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHJldHVybiB7IHdpZHRoOiAwLCBoZWlnaHQ6IDAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgd2lkdGg6IHRoaXMubGVnZW5kQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCxcbiAgICAgIGhlaWdodDogdGhpcy5sZWdlbmRDb250YWluZXIoKS5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCxcbiAgICB9O1xuICB9XG59XG4iLCI8ZGl2ICNsZWdlbmRDb250YWluZXIgW25nQ2xhc3NdPVwiY29udGFpbmVyQ2xhc3MoKVwiPlxuICBAZm9yIChpdGVtIG9mIGRpc3BsYXlJdGVtcygpOyB0cmFjayBpdGVtLmlkKSB7XG4gIDxkaXYgY2xhc3M9XCJheC1sZWdlbmQtaXRlbVwiIFtjbGFzcy5heC1sZWdlbmQtaXRlbS1oaWRkZW5dPVwiaXRlbS5oaWRkZW5cIiAoY2xpY2spPVwib25JdGVtQ2xpY2soaXRlbSlcIlxuICAgIChtb3VzZWVudGVyKT1cIm9uSXRlbU1vdXNlRW50ZXIoaXRlbSlcIiAobW91c2VsZWF2ZSk9XCJvbkl0ZW1Nb3VzZUxlYXZlKGl0ZW0pXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJheC1sZWdlbmQtY29sb3JcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJpdGVtLmNvbG9yXCI+PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwiYXgtbGVnZW5kLW5hbWVcIj57eyBpdGVtLm5hbWUgfX08L3NwYW4+XG4gICAgQGlmIChzaG93VmFsdWVzKCkpIHtcbiAgICA8c3BhbiBjbGFzcz1cImF4LWxlZ2VuZC12YWx1ZVwiPnt7IGl0ZW0udmFsdWUgfCBudW1iZXI6ICcxLjAtMicgfX08L3NwYW4+XG4gICAgfVxuICAgIEBpZiAoc2hvd1BlcmNlbnRhZ2UoKSkge1xuICAgIDxzcGFuIGNsYXNzPVwiYXgtbGVnZW5kLXBlcmNlbnRhZ2VcIj57eyBpdGVtLnBlcmNlbnRhZ2UgfCBudW1iZXI6ICcxLjAtMicgfX0lPC9zcGFuPlxuICAgIH1cbiAgPC9kaXY+XG4gIH1cbjwvZGl2PiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNoYXJ0cy1jaGFydC1sZWdlbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jaGFydHMvY2hhcnQtbGVnZW5kL3NyYy9hY29yZXgtY2hhcnRzLWNoYXJ0LWxlZ2VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
|
|
@@ -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,
|
|
4
|
+
import { inject, NgZone, input, viewChild, afterNextRender, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
5
5
|
|
|
6
6
|
class AXChartTooltipComponent {
|
|
7
7
|
ngZone = inject(NgZone);
|
|
@@ -19,7 +19,7 @@ class AXChartTooltipComponent {
|
|
|
19
19
|
/**
|
|
20
20
|
* Reference to tooltip container for measuring dimensions
|
|
21
21
|
*/
|
|
22
|
-
tooltipContainer;
|
|
22
|
+
tooltipContainer = viewChild('tooltipContainer', ...(ngDevMode ? [{ debugName: "tooltipContainer" }] : []));
|
|
23
23
|
// Tooltip dimensions
|
|
24
24
|
tooltipWidth = 0;
|
|
25
25
|
tooltipHeight = 0;
|
|
@@ -29,6 +29,34 @@ class AXChartTooltipComponent {
|
|
|
29
29
|
this.updateTooltipDimensions();
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
|
+
// Helpers to support color as string | string[]
|
|
33
|
+
isColorArray() {
|
|
34
|
+
const color = this.data()?.color;
|
|
35
|
+
return Array.isArray(color);
|
|
36
|
+
}
|
|
37
|
+
colorList() {
|
|
38
|
+
const color = this.data()?.color;
|
|
39
|
+
return Array.isArray(color) ? color : [];
|
|
40
|
+
}
|
|
41
|
+
singleColor() {
|
|
42
|
+
const color = this.data()?.color;
|
|
43
|
+
return typeof color === 'string' ? color : null;
|
|
44
|
+
}
|
|
45
|
+
isTitleArray() {
|
|
46
|
+
const t = this.data()?.title;
|
|
47
|
+
return Array.isArray(t);
|
|
48
|
+
}
|
|
49
|
+
titleList() {
|
|
50
|
+
const t = this.data()?.title;
|
|
51
|
+
return Array.isArray(t) ? t : [];
|
|
52
|
+
}
|
|
53
|
+
colorAt(index) {
|
|
54
|
+
const c = this.data()?.color;
|
|
55
|
+
if (Array.isArray(c)) {
|
|
56
|
+
return c[index] ?? null;
|
|
57
|
+
}
|
|
58
|
+
return typeof c === 'string' ? c : null;
|
|
59
|
+
}
|
|
32
60
|
/**
|
|
33
61
|
* Updates tooltip dimensions after it's rendered
|
|
34
62
|
*/
|
|
@@ -37,9 +65,9 @@ class AXChartTooltipComponent {
|
|
|
37
65
|
this.ngZone.runOutsideAngular(() => {
|
|
38
66
|
// Use requestAnimationFrame to ensure dimensions are calculated after render
|
|
39
67
|
requestAnimationFrame(() => {
|
|
40
|
-
if (this.tooltipContainer?.nativeElement) {
|
|
41
|
-
this.tooltipWidth = this.tooltipContainer.nativeElement.offsetWidth;
|
|
42
|
-
this.tooltipHeight = this.tooltipContainer.nativeElement.offsetHeight;
|
|
68
|
+
if (this.tooltipContainer()?.nativeElement) {
|
|
69
|
+
this.tooltipWidth = this.tooltipContainer().nativeElement.offsetWidth;
|
|
70
|
+
this.tooltipHeight = this.tooltipContainer().nativeElement.offsetHeight;
|
|
43
71
|
}
|
|
44
72
|
});
|
|
45
73
|
});
|
|
@@ -55,16 +83,13 @@ class AXChartTooltipComponent {
|
|
|
55
83
|
height: this.tooltipHeight,
|
|
56
84
|
};
|
|
57
85
|
}
|
|
58
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.
|
|
59
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.
|
|
86
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXChartTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
87
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.8", 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 (visible() && data()) {\n<div #tooltipContainer\n class=\"chart-tooltip ax-absolute ax-pointer-events-none ax-py-2 ax-px-3 ax-rounded-md ax-text-[0.8rem] ax-z-10 ax-shadow-lg ax-backdrop-blur-[4px] ax-border ax-border-white/10 ax-transform ax-translate-x-[10px] ax--translate-y-1/2 ax-max-w-[400px] ax-transition ax-duration-150 ax-ease-in-out\"\n [style.background-color]=\"data()!.tooltipBgColor || 'rgba(33,33,33,0.9)'\"\n [style.color]=\"data()!.tooltipColor || 'white'\" [style.left.px]=\"position().x\" [style.top.px]=\"position().y\"\n [ngStyle]=\"style()\">\n <div class=\"chart-tooltip-content ax-flex ax-justify-between ax-items-center ax-gap-2\">\n <div class=\"chart-tooltip-body ax-flex ax-flex-col\">\n @if (!isTitleArray()) {\n <div class=\"chart-tooltip-title-row ax-flex ax-items-center ax-gap-1.5 ax-pb-2\">\n @if (singleColor()) {\n <div class=\"chart-tooltip-color ax-w-[10px] ax-h-[10px] ax-rounded-[2px] ax-flex-shrink-0\"\n [style.background-color]=\"singleColor()!\"></div>\n }\n <div\n class=\"chart-tooltip-title ax-font-semibold ax-whitespace-nowrap ax-overflow-hidden ax-text-ellipsis ax-leading-[1.2]\">\n {{ data()!.title }}</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 ax-flex ax-items-center ax-gap-1.5 ax-pb-2\">\n @if (colorAt(i)) {\n <div class=\"chart-tooltip-color ax-w-[10px] ax-h-[10px] ax-rounded-[2px] ax-flex-shrink-0\"\n [style.background-color]=\"colorAt(i)!\"></div>\n }\n <div\n class=\"chart-tooltip-title ax-font-semibold ax-whitespace-nowrap ax-overflow-hidden ax-text-ellipsis ax-leading-[1.2]\">\n {{ t }}</div>\n </div>\n }\n </div>\n }\n\n <div class=\"chart-tooltip-value-row ax-flex ax-gap-2 ax-items-center\">\n <div class=\"chart-tooltip-value ax-font-medium ax-flex-grow\">{{ data()!.value }}</div>\n @if (showPercentage() && data()!.percentage) {\n <div\n class=\"chart-tooltip-percentage ax-bg-white/20 ax-py-[0.125rem] ax-px-[0.375rem] ax-rounded-full ax-text-[0.7rem] ax-font-medium ax-flex-shrink-0\">\n {{ data()!.percentage }}</div>\n }\n </div>\n </div>\n </div>\n</div>\n}", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
60
88
|
}
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.
|
|
89
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXChartTooltipComponent, decorators: [{
|
|
62
90
|
type: Component,
|
|
63
|
-
args: [{ selector: 'ax-chart-tooltip', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (visible() && data()) {\n
|
|
64
|
-
}], ctorParameters: () => []
|
|
65
|
-
type: ViewChild,
|
|
66
|
-
args: ['tooltipContainer']
|
|
67
|
-
}] } });
|
|
91
|
+
args: [{ selector: 'ax-chart-tooltip', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (visible() && data()) {\n<div #tooltipContainer\n class=\"chart-tooltip ax-absolute ax-pointer-events-none ax-py-2 ax-px-3 ax-rounded-md ax-text-[0.8rem] ax-z-10 ax-shadow-lg ax-backdrop-blur-[4px] ax-border ax-border-white/10 ax-transform ax-translate-x-[10px] ax--translate-y-1/2 ax-max-w-[400px] ax-transition ax-duration-150 ax-ease-in-out\"\n [style.background-color]=\"data()!.tooltipBgColor || 'rgba(33,33,33,0.9)'\"\n [style.color]=\"data()!.tooltipColor || 'white'\" [style.left.px]=\"position().x\" [style.top.px]=\"position().y\"\n [ngStyle]=\"style()\">\n <div class=\"chart-tooltip-content ax-flex ax-justify-between ax-items-center ax-gap-2\">\n <div class=\"chart-tooltip-body ax-flex ax-flex-col\">\n @if (!isTitleArray()) {\n <div class=\"chart-tooltip-title-row ax-flex ax-items-center ax-gap-1.5 ax-pb-2\">\n @if (singleColor()) {\n <div class=\"chart-tooltip-color ax-w-[10px] ax-h-[10px] ax-rounded-[2px] ax-flex-shrink-0\"\n [style.background-color]=\"singleColor()!\"></div>\n }\n <div\n class=\"chart-tooltip-title ax-font-semibold ax-whitespace-nowrap ax-overflow-hidden ax-text-ellipsis ax-leading-[1.2]\">\n {{ data()!.title }}</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 ax-flex ax-items-center ax-gap-1.5 ax-pb-2\">\n @if (colorAt(i)) {\n <div class=\"chart-tooltip-color ax-w-[10px] ax-h-[10px] ax-rounded-[2px] ax-flex-shrink-0\"\n [style.background-color]=\"colorAt(i)!\"></div>\n }\n <div\n class=\"chart-tooltip-title ax-font-semibold ax-whitespace-nowrap ax-overflow-hidden ax-text-ellipsis ax-leading-[1.2]\">\n {{ t }}</div>\n </div>\n }\n </div>\n }\n\n <div class=\"chart-tooltip-value-row ax-flex ax-gap-2 ax-items-center\">\n <div class=\"chart-tooltip-value ax-font-medium ax-flex-grow\">{{ data()!.value }}</div>\n @if (showPercentage() && data()!.percentage) {\n <div\n class=\"chart-tooltip-percentage ax-bg-white/20 ax-py-[0.125rem] ax-px-[0.375rem] ax-rounded-full ax-text-[0.7rem] ax-font-medium ax-flex-shrink-0\">\n {{ data()!.percentage }}</div>\n }\n </div>\n </div>\n </div>\n</div>\n}" }]
|
|
92
|
+
}], ctorParameters: () => [] });
|
|
68
93
|
|
|
69
94
|
/**
|
|
70
95
|
* Generated bundle index. Do not edit.
|
|
@@ -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, ElementRef, NgZone, ViewChild, afterNextRender, inject, input, } 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;\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 /**\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.1.7\", ngImport: i0, type: AXChartTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.7\", 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 }], ngImport: i0, template: \"@if (visible() && data()) {\\n <div\\n #tooltipContainer\\n class=\\\"chart-tooltip\\\"\\n [style.left.px]=\\\"position().x\\\"\\n [style.top.px]=\\\"position().y\\\"\\n [ngStyle]=\\\"style()\\\"\\n >\\n <div class=\\\"chart-tooltip-title\\\">{{ data()!.title }}</div>\\n <div class=\\\"chart-tooltip-content\\\">\\n @if (data()!.color) {\\n <div class=\\\"chart-tooltip-color\\\" [style.background-color]=\\\"data()!.color\\\"></div>\\n }\\n <div class=\\\"chart-tooltip-value\\\">{{ data()!.value }}</div>\\n @if (showPercentage() && data()!.percentage) {\\n <div class=\\\"chart-tooltip-percentage\\\">{{ data()!.percentage }}</div>\\n }\\n </div>\\n </div>\\n}\\n\", styles: [\".chart-tooltip{position:absolute;pointer-events:none;background-color:#212121e6;color:#fff;padding:.5rem .75rem;border-radius:.375rem;font-size:.8rem;z-index:10;box-shadow:0 4px 12px #00000026;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1);transform:translate(10px,-50%);max-width:200px;transition:opacity .15s ease,transform .15s ease}.chart-tooltip-title{font-weight:600;padding-bottom:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-tooltip-content{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.chart-tooltip-color{width:10px;height:10px;border-radius:2px;flex-shrink:0;box-shadow:0 1px 2px #0003}.chart-tooltip-value{font-weight:500;flex-grow:1}.chart-tooltip-percentage{background-color:#fff3;padding:.125rem .375rem;border-radius:1rem;font-size:.7rem;font-weight:500;flex-shrink:0}\\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.1.7\", ngImport: i0, type: AXChartTooltipComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-chart-tooltip', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: \"@if (visible() && data()) {\\n <div\\n #tooltipContainer\\n class=\\\"chart-tooltip\\\"\\n [style.left.px]=\\\"position().x\\\"\\n [style.top.px]=\\\"position().y\\\"\\n [ngStyle]=\\\"style()\\\"\\n >\\n <div class=\\\"chart-tooltip-title\\\">{{ data()!.title }}</div>\\n <div class=\\\"chart-tooltip-content\\\">\\n @if (data()!.color) {\\n <div class=\\\"chart-tooltip-color\\\" [style.background-color]=\\\"data()!.color\\\"></div>\\n }\\n <div class=\\\"chart-tooltip-value\\\">{{ data()!.value }}</div>\\n @if (showPercentage() && data()!.percentage) {\\n <div class=\\\"chart-tooltip-percentage\\\">{{ data()!.percentage }}</div>\\n }\\n </div>\\n </div>\\n}\\n\", styles: [\".chart-tooltip{position:absolute;pointer-events:none;background-color:#212121e6;color:#fff;padding:.5rem .75rem;border-radius:.375rem;font-size:.8rem;z-index:10;box-shadow:0 4px 12px #00000026;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1);transform:translate(10px,-50%);max-width:200px;transition:opacity .15s ease,transform .15s ease}.chart-tooltip-title{font-weight:600;padding-bottom:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-tooltip-content{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.chart-tooltip-color{width:10px;height:10px;border-radius:2px;flex-shrink:0;box-shadow:0 1px 2px #0003}.chart-tooltip-value{font-weight:500;flex-grow:1}.chart-tooltip-percentage{background-color:#fff3;padding:.125rem .375rem;border-radius:1rem;font-size:.7rem;font-weight:500;flex-shrink:0}\\n\"] }]\n }], ctorParameters: () => [], propDecorators: { tooltipContainer: [{\n type: ViewChild,\n args: ['tooltipContainer']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtdG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jaGFydHMvY2hhcnQtdG9vbHRpcC9zcmMvbGliL2NoYXJ0LXRvb2x0aXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2hhcnRzL2NoYXJ0LXRvb2x0aXAvc3JjL2xpYi9jaGFydC10b29sdGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLFNBQVMsRUFDVCxlQUFlLEVBQ2YsTUFBTSxFQUNOLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQzs7O0FBV3ZCLE1BQU0sT0FBTyx1QkFBdUI7SUFDMUIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVoQyxJQUFJLEdBQUcsS0FBSyxDQUE0QixJQUFJLGdEQUFDLENBQUM7SUFDOUMsUUFBUSxHQUFHLEtBQUssQ0FBMkIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsb0RBQUMsQ0FBQztJQUMzRCxPQUFPLEdBQUcsS0FBSyxDQUFVLEtBQUssbURBQUMsQ0FBQztJQUVoQzs7T0FFRztJQUNILGNBQWMsR0FBRyxLQUFLLENBQVUsSUFBSSwwREFBQyxDQUFDO0lBRXRDOztPQUVHO0lBQ0gsS0FBSyxHQUFHLEtBQUssQ0FBNEIsRUFBRSxpREFBQyxDQUFDO0lBRTdDOztPQUVHO0lBQzRCLGdCQUFnQixDQUE4QjtJQUU3RSxxQkFBcUI7SUFDWCxZQUFZLEdBQUcsQ0FBQyxDQUFDO0lBQ2pCLGFBQWEsR0FBRyxDQUFDLENBQUM7SUFFNUI7UUFDRSxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQ25CLGlEQUFpRDtZQUNqRCxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNPLHVCQUF1QjtRQUMvQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtnQkFDakMsNkVBQTZFO2dCQUM3RSxxQkFBcUIsQ0FBQyxHQUFHLEVBQUU7b0JBQ3pCLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxDQUFDO3dCQUN6QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO3dCQUNwRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO29CQUN4RSxDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILGFBQWE7UUFDWCxPQUFPO1lBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYTtTQUMzQixDQUFDO0lBQ0osQ0FBQzt1R0EzRFUsdUJBQXVCOzJGQUF2Qix1QkFBdUIsNjBCQ3JCcEMsbXFCQW9CQSxtN0JERlksWUFBWTs7MkZBR1gsdUJBQXVCO2tCQVJuQyxTQUFTOytCQUNFLGtCQUFrQixjQUdoQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsbUJBQ04sdUJBQXVCLENBQUMsTUFBTTt3REFzQmhCLGdCQUFnQjtzQkFBOUMsU0FBUzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgTmdab25lLFxuICBWaWV3Q2hpbGQsXG4gIGFmdGVyTmV4dFJlbmRlcixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWENoYXJ0VG9vbHRpcERhdGEgfSBmcm9tICcuL2NoYXJ0LXRvb2x0aXAudHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWNoYXJ0LXRvb2x0aXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hhcnQtdG9vbHRpcC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoYXJ0LXRvb2x0aXAuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBWENoYXJ0VG9vbHRpcENvbXBvbmVudCB7XG4gIHByaXZhdGUgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgZGF0YSA9IGlucHV0PEFYQ2hhcnRUb29sdGlwRGF0YSB8IG51bGw+KG51bGwpO1xuICBwb3NpdGlvbiA9IGlucHV0PHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfT4oeyB4OiAwLCB5OiAwIH0pO1xuICB2aXNpYmxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNob3cgdGhlIHRvb2x0aXAncyBwZXJjZW50YWdlIGJhZGdlXG4gICAqL1xuICBzaG93UGVyY2VudGFnZSA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBjdXN0b20gc3R5bGluZyBmb3IgdGhlIHRvb2x0aXBcbiAgICovXG4gIHN0eWxlID0gaW5wdXQ8eyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfT4oe30pO1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdG9vbHRpcCBjb250YWluZXIgZm9yIG1lYXN1cmluZyBkaW1lbnNpb25zXG4gICAqL1xuICBAVmlld0NoaWxkKCd0b29sdGlwQ29udGFpbmVyJykgdG9vbHRpcENvbnRhaW5lcj86IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIC8vIFRvb2x0aXAgZGltZW5zaW9uc1xuICBwcm90ZWN0ZWQgdG9vbHRpcFdpZHRoID0gMDtcbiAgcHJvdGVjdGVkIHRvb2x0aXBIZWlnaHQgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgICAvLyBVcGRhdGUgdG9vbHRpcCBkaW1lbnNpb25zIHdoZW4gdmlzaWJsZSBjaGFuZ2VzXG4gICAgICB0aGlzLnVwZGF0ZVRvb2x0aXBEaW1lbnNpb25zKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0b29sdGlwIGRpbWVuc2lvbnMgYWZ0ZXIgaXQncyByZW5kZXJlZFxuICAgKi9cbiAgcHJvdGVjdGVkIHVwZGF0ZVRvb2x0aXBEaW1lbnNpb25zKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnZpc2libGUoKSAmJiB0aGlzLnRvb2x0aXBDb250YWluZXIpIHtcbiAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgLy8gVXNlIHJlcXVlc3RBbmltYXRpb25GcmFtZSB0byBlbnN1cmUgZGltZW5zaW9ucyBhcmUgY2FsY3VsYXRlZCBhZnRlciByZW5kZXJcbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy50b29sdGlwQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBXaWR0aCA9IHRoaXMudG9vbHRpcENvbnRhaW5lci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgICAgICAgdGhpcy50b29sdGlwSGVpZ2h0ID0gdGhpcy50b29sdGlwQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFkanVzdGVkIHRvb2x0aXAgcG9zaXRpb25cbiAgICogRXhwb3NlcyBwcm9wZXJ0aWVzIGZvciBwYXJlbnQgY29tcG9uZW50cyB0byBxdWVyeSB0b29sdGlwIGRpbWVuc2lvbnNcbiAgICovXG4gIGdldERpbWVuc2lvbnMoKTogeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlciB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgd2lkdGg6IHRoaXMudG9vbHRpcFdpZHRoLFxuICAgICAgaGVpZ2h0OiB0aGlzLnRvb2x0aXBIZWlnaHQsXG4gICAgfTtcbiAgfVxufVxuIiwiQGlmICh2aXNpYmxlKCkgJiYgZGF0YSgpKSB7XG4gIDxkaXZcbiAgICAjdG9vbHRpcENvbnRhaW5lclxuICAgIGNsYXNzPVwiY2hhcnQtdG9vbHRpcFwiXG4gICAgW3N0eWxlLmxlZnQucHhdPVwicG9zaXRpb24oKS54XCJcbiAgICBbc3R5bGUudG9wLnB4XT1cInBvc2l0aW9uKCkueVwiXG4gICAgW25nU3R5bGVdPVwic3R5bGUoKVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiY2hhcnQtdG9vbHRpcC10aXRsZVwiPnt7IGRhdGEoKSEudGl0bGUgfX08L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY2hhcnQtdG9vbHRpcC1jb250ZW50XCI+XG4gICAgICBAaWYgKGRhdGEoKSEuY29sb3IpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImNoYXJ0LXRvb2x0aXAtY29sb3JcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJkYXRhKCkhLmNvbG9yXCI+PC9kaXY+XG4gICAgICB9XG4gICAgICA8ZGl2IGNsYXNzPVwiY2hhcnQtdG9vbHRpcC12YWx1ZVwiPnt7IGRhdGEoKSEudmFsdWUgfX08L2Rpdj5cbiAgICAgIEBpZiAoc2hvd1BlcmNlbnRhZ2UoKSAmJiBkYXRhKCkhLnBlcmNlbnRhZ2UpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImNoYXJ0LXRvb2x0aXAtcGVyY2VudGFnZVwiPnt7IGRhdGEoKSEucGVyY2VudGFnZSB9fTwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbn1cbiJdfQ==","/**\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, 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 /**\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.1.8\", ngImport: i0, type: AXChartTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", 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 (visible() && data()) {\\n<div #tooltipContainer\\n class=\\\"chart-tooltip ax-absolute ax-pointer-events-none ax-py-2 ax-px-3 ax-rounded-md ax-text-[0.8rem] ax-z-10 ax-shadow-lg ax-backdrop-blur-[4px] ax-border ax-border-white/10 ax-transform ax-translate-x-[10px] ax--translate-y-1/2 ax-max-w-[400px] ax-transition ax-duration-150 ax-ease-in-out\\\"\\n [style.background-color]=\\\"data()!.tooltipBgColor || 'rgba(33,33,33,0.9)'\\\"\\n [style.color]=\\\"data()!.tooltipColor || 'white'\\\" [style.left.px]=\\\"position().x\\\" [style.top.px]=\\\"position().y\\\"\\n [ngStyle]=\\\"style()\\\">\\n <div class=\\\"chart-tooltip-content ax-flex ax-justify-between ax-items-center ax-gap-2\\\">\\n <div class=\\\"chart-tooltip-body ax-flex ax-flex-col\\\">\\n @if (!isTitleArray()) {\\n <div class=\\\"chart-tooltip-title-row ax-flex ax-items-center ax-gap-1.5 ax-pb-2\\\">\\n @if (singleColor()) {\\n <div class=\\\"chart-tooltip-color ax-w-[10px] ax-h-[10px] ax-rounded-[2px] ax-flex-shrink-0\\\"\\n [style.background-color]=\\\"singleColor()!\\\"></div>\\n }\\n <div\\n class=\\\"chart-tooltip-title ax-font-semibold ax-whitespace-nowrap ax-overflow-hidden ax-text-ellipsis ax-leading-[1.2]\\\">\\n {{ data()!.title }}</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 ax-flex ax-items-center ax-gap-1.5 ax-pb-2\\\">\\n @if (colorAt(i)) {\\n <div class=\\\"chart-tooltip-color ax-w-[10px] ax-h-[10px] ax-rounded-[2px] ax-flex-shrink-0\\\"\\n [style.background-color]=\\\"colorAt(i)!\\\"></div>\\n }\\n <div\\n class=\\\"chart-tooltip-title ax-font-semibold ax-whitespace-nowrap ax-overflow-hidden ax-text-ellipsis ax-leading-[1.2]\\\">\\n {{ t }}</div>\\n </div>\\n }\\n </div>\\n }\\n\\n <div class=\\\"chart-tooltip-value-row ax-flex ax-gap-2 ax-items-center\\\">\\n <div class=\\\"chart-tooltip-value ax-font-medium ax-flex-grow\\\">{{ data()!.value }}</div>\\n @if (showPercentage() && data()!.percentage) {\\n <div\\n class=\\\"chart-tooltip-percentage ax-bg-white/20 ax-py-[0.125rem] ax-px-[0.375rem] ax-rounded-full ax-text-[0.7rem] ax-font-medium ax-flex-shrink-0\\\">\\n {{ data()!.percentage }}</div>\\n }\\n </div>\\n </div>\\n </div>\\n</div>\\n}\", styles: [\"\"], 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.1.8\", ngImport: i0, type: AXChartTooltipComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-chart-tooltip', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: \"@if (visible() && data()) {\\n<div #tooltipContainer\\n class=\\\"chart-tooltip ax-absolute ax-pointer-events-none ax-py-2 ax-px-3 ax-rounded-md ax-text-[0.8rem] ax-z-10 ax-shadow-lg ax-backdrop-blur-[4px] ax-border ax-border-white/10 ax-transform ax-translate-x-[10px] ax--translate-y-1/2 ax-max-w-[400px] ax-transition ax-duration-150 ax-ease-in-out\\\"\\n [style.background-color]=\\\"data()!.tooltipBgColor || 'rgba(33,33,33,0.9)'\\\"\\n [style.color]=\\\"data()!.tooltipColor || 'white'\\\" [style.left.px]=\\\"position().x\\\" [style.top.px]=\\\"position().y\\\"\\n [ngStyle]=\\\"style()\\\">\\n <div class=\\\"chart-tooltip-content ax-flex ax-justify-between ax-items-center ax-gap-2\\\">\\n <div class=\\\"chart-tooltip-body ax-flex ax-flex-col\\\">\\n @if (!isTitleArray()) {\\n <div class=\\\"chart-tooltip-title-row ax-flex ax-items-center ax-gap-1.5 ax-pb-2\\\">\\n @if (singleColor()) {\\n <div class=\\\"chart-tooltip-color ax-w-[10px] ax-h-[10px] ax-rounded-[2px] ax-flex-shrink-0\\\"\\n [style.background-color]=\\\"singleColor()!\\\"></div>\\n }\\n <div\\n class=\\\"chart-tooltip-title ax-font-semibold ax-whitespace-nowrap ax-overflow-hidden ax-text-ellipsis ax-leading-[1.2]\\\">\\n {{ data()!.title }}</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 ax-flex ax-items-center ax-gap-1.5 ax-pb-2\\\">\\n @if (colorAt(i)) {\\n <div class=\\\"chart-tooltip-color ax-w-[10px] ax-h-[10px] ax-rounded-[2px] ax-flex-shrink-0\\\"\\n [style.background-color]=\\\"colorAt(i)!\\\"></div>\\n }\\n <div\\n class=\\\"chart-tooltip-title ax-font-semibold ax-whitespace-nowrap ax-overflow-hidden ax-text-ellipsis ax-leading-[1.2]\\\">\\n {{ t }}</div>\\n </div>\\n }\\n </div>\\n }\\n\\n <div class=\\\"chart-tooltip-value-row ax-flex ax-gap-2 ax-items-center\\\">\\n <div class=\\\"chart-tooltip-value ax-font-medium ax-flex-grow\\\">{{ data()!.value }}</div>\\n @if (showPercentage() && data()!.percentage) {\\n <div\\n class=\\\"chart-tooltip-percentage ax-bg-white/20 ax-py-[0.125rem] ax-px-[0.375rem] ax-rounded-full ax-text-[0.7rem] ax-font-medium ax-flex-shrink-0\\\">\\n {{ data()!.percentage }}</div>\\n }\\n </div>\\n </div>\\n </div>\\n</div>\\n}\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtdG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jaGFydHMvY2hhcnQtdG9vbHRpcC9zcmMvbGliL2NoYXJ0LXRvb2x0aXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2hhcnRzL2NoYXJ0LXRvb2x0aXAvc3JjL2xpYi9jaGFydC10b29sdGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxNQUFNLEVBRU4sZUFBZSxFQUNmLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOzs7QUFXdkIsTUFBTSxPQUFPLHVCQUF1QjtJQUMxQixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRWhDLElBQUksR0FBRyxLQUFLLENBQTRCLElBQUksZ0RBQUMsQ0FBQztJQUM5QyxRQUFRLEdBQUcsS0FBSyxDQUEyQixFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxvREFBQyxDQUFDO0lBQzNELE9BQU8sR0FBRyxLQUFLLENBQVUsS0FBSyxtREFBQyxDQUFDO0lBRWhDOztPQUVHO0lBQ0gsY0FBYyxHQUFHLEtBQUssQ0FBVSxJQUFJLDBEQUFDLENBQUM7SUFFdEM7O09BRUc7SUFDSCxLQUFLLEdBQUcsS0FBSyxDQUE0QixFQUFFLGlEQUFDLENBQUM7SUFFN0M7O09BRUc7SUFDSCxnQkFBZ0IsR0FBRyxTQUFTLENBQTZCLGtCQUFrQiw0REFBQyxDQUFDO0lBRTdFLHFCQUFxQjtJQUNYLFlBQVksR0FBRyxDQUFDLENBQUM7SUFDakIsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUU1QjtRQUNFLGVBQWUsQ0FB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QUNOLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgTmdab25lLFxuICBWaWV3Q2hpbGQsXG4gIGFmdGVyTmV4dFJlbmRlcixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgdmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYQ2hhcnRUb29sdGlwRGF0YSB9IGZyb20gJy4vY2hhcnQtdG9vbHRpcC50eXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY2hhcnQtdG9vbHRpcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFydC10b29sdGlwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hhcnQtdG9vbHRpcC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFYQ2hhcnRUb29sdGlwQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcblxuICBkYXRhID0gaW5wdXQ8QVhDaGFydFRvb2x0aXBEYXRhIHwgbnVsbD4obnVsbCk7XG4gIHBvc2l0aW9uID0gaW5wdXQ8eyB4OiBudW1iZXI7IHk6IG51bWJlciB9Pih7IHg6IDAsIHk6IDAgfSk7XG4gIHZpc2libGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gc2hvdyB0aGUgdG9vbHRpcCdzIHBlcmNlbnRhZ2UgYmFkZ2VcbiAgICovXG4gIHNob3dQZXJjZW50YWdlID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGN1c3RvbSBzdHlsaW5nIGZvciB0aGUgdG9vbHRpcFxuICAgKi9cbiAgc3R5bGUgPSBpbnB1dDx7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9Pih7fSk7XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0b29sdGlwIGNvbnRhaW5lciBmb3IgbWVhc3VyaW5nIGRpbWVuc2lvbnNcbiAgICovXG4gIHRvb2x0aXBDb250YWluZXIgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4+KCd0b29sdGlwQ29udGFpbmVyJyk7XG5cbiAgLy8gVG9vbHRpcCBkaW1lbnNpb25zXG4gIHByb3RlY3RlZCB0b29sdGlwV2lkdGggPSAwO1xuICBwcm90ZWN0ZWQgdG9vbHRpcEhlaWdodCA9IDA7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICAgIC8vIFVwZGF0ZSB0b29sdGlwIGRpbWVuc2lvbnMgd2hlbiB2aXNpYmxlIGNoYW5nZXNcbiAgICAgIHRoaXMudXBkYXRlVG9vbHRpcERpbWVuc2lvbnMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIEhlbHBlcnMgdG8gc3VwcG9ydCBjb2xvciBhcyBzdHJpbmcgfCBzdHJpbmdbXVxuICBwcm90ZWN0ZWQgaXNDb2xvckFycmF5KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNvbG9yID0gdGhpcy5kYXRhKCk/LmNvbG9yIGFzIHVua25vd247XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoY29sb3IpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbG9yTGlzdCgpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY29sb3IgPSB0aGlzLmRhdGEoKT8uY29sb3IgYXMgdW5rbm93bjtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShjb2xvcikgPyAoY29sb3IgYXMgc3RyaW5nW10pIDogW107XG4gIH1cblxuICBwcm90ZWN0ZWQgc2luZ2xlQ29sb3IoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgY29sb3IgPSB0aGlzLmRhdGEoKT8uY29sb3IgYXMgdW5rbm93bjtcbiAgICByZXR1cm4gdHlwZW9mIGNvbG9yID09PSAnc3RyaW5nJyA/IChjb2xvciBhcyBzdHJpbmcpIDogbnVsbDtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc1RpdGxlQXJyYXkoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdCA9IHRoaXMuZGF0YSgpPy50aXRsZSBhcyB1bmtub3duO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRpdGxlTGlzdCgpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgdCA9IHRoaXMuZGF0YSgpPy50aXRsZSBhcyB1bmtub3duO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHQpID8gKHQgYXMgc3RyaW5nW10pIDogW107XG4gIH1cblxuICBwcm90ZWN0ZWQgY29sb3JBdChpbmRleDogbnVtYmVyKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgYyA9IHRoaXMuZGF0YSgpPy5jb2xvciBhcyB1bmtub3duO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGMpKSB7XG4gICAgICByZXR1cm4gKGMgYXMgc3RyaW5nW10pW2luZGV4XSA/PyBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gdHlwZW9mIGMgPT09ICdzdHJpbmcnID8gKGMgYXMgc3RyaW5nKSA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0b29sdGlwIGRpbWVuc2lvbnMgYWZ0ZXIgaXQncyByZW5kZXJlZFxuICAgKi9cbiAgcHJvdGVjdGVkIHVwZGF0ZVRvb2x0aXBEaW1lbnNpb25zKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnZpc2libGUoKSAmJiB0aGlzLnRvb2x0aXBDb250YWluZXIpIHtcbiAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgLy8gVXNlIHJlcXVlc3RBbmltYXRpb25GcmFtZSB0byBlbnN1cmUgZGltZW5zaW9ucyBhcmUgY2FsY3VsYXRlZCBhZnRlciByZW5kZXJcbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy50b29sdGlwQ29udGFpbmVyKCk/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcFdpZHRoID0gdGhpcy50b29sdGlwQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcEhlaWdodCA9IHRoaXMudG9vbHRpcENvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFkanVzdGVkIHRvb2x0aXAgcG9zaXRpb25cbiAgICogRXhwb3NlcyBwcm9wZXJ0aWVzIGZvciBwYXJlbnQgY29tcG9uZW50cyB0byBxdWVyeSB0b29sdGlwIGRpbWVuc2lvbnNcbiAgICovXG4gIGdldERpbWVuc2lvbnMoKTogeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlciB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgd2lkdGg6IHRoaXMudG9vbHRpcFdpZHRoLFxuICAgICAgaGVpZ2h0OiB0aGlzLnRvb2x0aXBIZWlnaHQsXG4gICAgfTtcbiAgfVxufVxuIiwiQGlmICh2aXNpYmxlKCkgJiYgZGF0YSgpKSB7XG48ZGl2ICN0b29sdGlwQ29udGFpbmVyXG4gIGNsYXNzPVwiY2hhcnQtdG9vbHRpcCBheC1hYnNvbHV0ZSBheC1wb2ludGVyLWV2ZW50cy1ub25lIGF4LXB5LTIgYXgtcHgtMyBheC1yb3VuZGVkLW1kIGF4LXRleHQtWzAuOHJlbV0gYXgtei0xMCBheC1zaGFkb3ctbGcgYXgtYmFja2Ryb3AtYmx1ci1bNHB4XSBheC1ib3JkZXIgYXgtYm9yZGVyLXdoaXRlLzEwIGF4LXRyYW5zZm9ybSBheC10cmFuc2xhdGUteC1bMTBweF0gYXgtLXRyYW5zbGF0ZS15LTEvMiBheC1tYXgtdy1bNDAwcHhdIGF4LXRyYW5zaXRpb24gYXgtZHVyYXRpb24tMTUwIGF4LWVhc2UtaW4tb3V0XCJcbiAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiZGF0YSgpIS50b29sdGlwQmdDb2xvciB8fCAncmdiYSgzMywzMywzMywwLjkpJ1wiXG4gIFtzdHlsZS5jb2xvcl09XCJkYXRhKCkhLnRvb2x0aXBDb2xvciB8fCAnd2hpdGUnXCIgW3N0eWxlLmxlZnQucHhdPVwicG9zaXRpb24oKS54XCIgW3N0eWxlLnRvcC5weF09XCJwb3NpdGlvbigpLnlcIlxuICBbbmdTdHlsZV09XCJzdHlsZSgpXCI+XG4gIDxkaXYgY2xhc3M9XCJjaGFydC10b29sdGlwLWNvbnRlbnQgYXgtZmxleCBheC1qdXN0aWZ5LWJldHdlZW4gYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0yXCI+XG4gICAgPGRpdiBjbGFzcz1cImNoYXJ0LXRvb2x0aXAtYm9keSBheC1mbGV4IGF4LWZsZXgtY29sXCI+XG4gICAgICBAaWYgKCFpc1RpdGxlQXJyYXkoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cImNoYXJ0LXRvb2x0aXAtdGl0bGUtcm93IGF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0xLjUgYXgtcGItMlwiPlxuICAgICAgICBAaWYgKHNpbmdsZUNvbG9yKCkpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImNoYXJ0LXRvb2x0aXAtY29sb3IgYXgtdy1bMTBweF0gYXgtaC1bMTBweF0gYXgtcm91bmRlZC1bMnB4XSBheC1mbGV4LXNocmluay0wXCJcbiAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJzaW5nbGVDb2xvcigpIVwiPjwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImNoYXJ0LXRvb2x0aXAtdGl0bGUgYXgtZm9udC1zZW1pYm9sZCBheC13aGl0ZXNwYWNlLW5vd3JhcCBheC1vdmVyZmxvdy1oaWRkZW4gYXgtdGV4dC1lbGxpcHNpcyBheC1sZWFkaW5nLVsxLjJdXCI+XG4gICAgICAgICAge3sgZGF0YSgpIS50aXRsZSB9fTwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJjaGFydC10b29sdGlwLXRpdGxlLWxpc3RcIj5cbiAgICAgICAgQGZvciAodCBvZiB0aXRsZUxpc3QoKTsgbGV0IGkgPSAkaW5kZXg7IHRyYWNrICRpbmRleCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hhcnQtdG9vbHRpcC10aXRsZS1yb3cgYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTEuNSBheC1wYi0yXCI+XG4gICAgICAgICAgQGlmIChjb2xvckF0KGkpKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoYXJ0LXRvb2x0aXAtY29sb3IgYXgtdy1bMTBweF0gYXgtaC1bMTBweF0gYXgtcm91bmRlZC1bMnB4XSBheC1mbGV4LXNocmluay0wXCJcbiAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImNvbG9yQXQoaSkhXCI+PC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiY2hhcnQtdG9vbHRpcC10aXRsZSBheC1mb250LXNlbWlib2xkIGF4LXdoaXRlc3BhY2Utbm93cmFwIGF4LW92ZXJmbG93LWhpZGRlbiBheC10ZXh0LWVsbGlwc2lzIGF4LWxlYWRpbmctWzEuMl1cIj5cbiAgICAgICAgICAgIHt7IHQgfX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgICAgfVxuXG4gICAgICA8ZGl2IGNsYXNzPVwiY2hhcnQtdG9vbHRpcC12YWx1ZS1yb3cgYXgtZmxleCBheC1nYXAtMiBheC1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoYXJ0LXRvb2x0aXAtdmFsdWUgYXgtZm9udC1tZWRpdW0gYXgtZmxleC1ncm93XCI+e3sgZGF0YSgpIS52YWx1ZSB9fTwvZGl2PlxuICAgICAgICBAaWYgKHNob3dQZXJjZW50YWdlKCkgJiYgZGF0YSgpIS5wZXJjZW50YWdlKSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImNoYXJ0LXRvb2x0aXAtcGVyY2VudGFnZSBheC1iZy13aGl0ZS8yMCBheC1weS1bMC4xMjVyZW1dIGF4LXB4LVswLjM3NXJlbV0gYXgtcm91bmRlZC1mdWxsIGF4LXRleHQtWzAuN3JlbV0gYXgtZm9udC1tZWRpdW0gYXgtZmxleC1zaHJpbmstMFwiPlxuICAgICAgICAgIHt7IGRhdGEoKSEucGVyY2VudGFnZSB9fTwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbn0iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNoYXJ0cy1jaGFydC10b29sdGlwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2hhcnRzL2NoYXJ0LXRvb2x0aXAvc3JjL2Fjb3JleC1jaGFydHMtY2hhcnQtdG9vbHRpcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
|