@acorex/charts 21.0.1-next.6 → 21.0.1-next.7

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.
@@ -91,11 +91,11 @@ class AXChartLegendComponent {
91
91
  };
92
92
  }
93
93
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXChartLegendComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
94
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", 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-surface, 255, 255, 255);--ax-legend-text: var(--ax-sys-color-on-lightest-surface, 51, 51, 51);--ax-legend-border: var(--ax-sys-color-border-surface, 0, 0, 0);--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-surface, 0, 0, 0);--ax-legend-text: var(--ax-sys-color-on-darkest-surface, 255, 255, 255);--ax-legend-border: var(--ax-sys-color-border-surface, 255, 255, 255)}.ax-chart-legend{display:flex;flex-direction:column;background-color:rgba(var(--ax-legend-bg));border-radius:var(--ax-legend-radius);border:1px solid rgba(var(--ax-legend-border));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 });
94
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", 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-surface, 255, 255, 255);--ax-legend-text: var(--ax-sys-color-on-lightest-surface, 51, 51, 51);--ax-legend-border: var(--ax-sys-color-border-surface, 0, 0, 0);--ax-legend-radius: .5rem;--ax-legend-padding: .75rem;--ax-legend-gap: .5rem;--ax-legend-item-height: 1.75rem}.dark ax-chart-legend{--ax-legend-bg: var(--ax-sys-color-darkest-surface, 0, 0, 0);--ax-legend-text: var(--ax-sys-color-on-darkest-surface, 255, 255, 255);--ax-legend-border: var(--ax-sys-color-border-surface, 255, 255, 255)}.ax-chart-legend{display:flex;flex-direction:column;background-color:rgba(var(--ax-legend-bg));border-radius:var(--ax-legend-radius);border:1px solid rgba(var(--ax-legend-border));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
96
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXChartLegendComponent, decorators: [{
97
97
  type: Component,
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-surface, 255, 255, 255);--ax-legend-text: var(--ax-sys-color-on-lightest-surface, 51, 51, 51);--ax-legend-border: var(--ax-sys-color-border-surface, 0, 0, 0);--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-surface, 0, 0, 0);--ax-legend-text: var(--ax-sys-color-on-darkest-surface, 255, 255, 255);--ax-legend-border: var(--ax-sys-color-border-surface, 255, 255, 255)}.ax-chart-legend{display:flex;flex-direction:column;background-color:rgba(var(--ax-legend-bg));border-radius:var(--ax-legend-radius);border:1px solid rgba(var(--ax-legend-border));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"] }]
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-surface, 255, 255, 255);--ax-legend-text: var(--ax-sys-color-on-lightest-surface, 51, 51, 51);--ax-legend-border: var(--ax-sys-color-border-surface, 0, 0, 0);--ax-legend-radius: .5rem;--ax-legend-padding: .75rem;--ax-legend-gap: .5rem;--ax-legend-item-height: 1.75rem}.dark ax-chart-legend{--ax-legend-bg: var(--ax-sys-color-darkest-surface, 0, 0, 0);--ax-legend-text: var(--ax-sys-color-on-darkest-surface, 255, 255, 255);--ax-legend-border: var(--ax-sys-color-border-surface, 255, 255, 255)}.ax-chart-legend{display:flex;flex-direction:column;background-color:rgba(var(--ax-legend-bg));border-radius:var(--ax-legend-radius);border:1px solid rgba(var(--ax-legend-border));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
99
  }], propDecorators: { chart: [{ type: i0.Input, args: [{ isSignal: true, alias: "chart", required: true }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], itemClick: [{ type: i0.Output, args: ["itemClick"] }], itemMouseEnter: [{ type: i0.Output, args: ["itemMouseEnter"] }], itemMouseLeave: [{ type: i0.Output, args: ["itemMouseLeave"] }], legendContainer: [{ type: i0.ViewChild, args: ['legendContainer', { isSignal: true }] }] } });
100
100
 
101
101
  /**
@@ -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, 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.3.15\", ngImport: i0, type: AXChartLegendComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.15\", 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-surface, 255, 255, 255);--ax-legend-text: var(--ax-sys-color-on-lightest-surface, 51, 51, 51);--ax-legend-border: var(--ax-sys-color-border-surface, 0, 0, 0);--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-surface, 0, 0, 0);--ax-legend-text: var(--ax-sys-color-on-darkest-surface, 255, 255, 255);--ax-legend-border: var(--ax-sys-color-border-surface, 255, 255, 255)}.ax-chart-legend{display:flex;flex-direction:column;background-color:rgba(var(--ax-legend-bg));border-radius:var(--ax-legend-radius);border:1px solid rgba(var(--ax-legend-border));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.3.15\", 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-surface, 255, 255, 255);--ax-legend-text: var(--ax-sys-color-on-lightest-surface, 51, 51, 51);--ax-legend-border: var(--ax-sys-color-border-surface, 0, 0, 0);--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-surface, 0, 0, 0);--ax-legend-text: var(--ax-sys-color-on-darkest-surface, 255, 255, 255);--ax-legend-border: var(--ax-sys-color-border-surface, 255, 255, 255)}.ax-chart-legend{display:flex;flex-direction:column;background-color:rgba(var(--ax-legend-bg));border-radius:var(--ax-legend-radius);border:1px solid rgba(var(--ax-legend-border));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: { chart: [{ type: i0.Input, args: [{ isSignal: true, alias: \"chart\", required: true }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: \"options\", required: false }] }], itemClick: [{ type: i0.Output, args: [\"itemClick\"] }], itemMouseEnter: [{ type: i0.Output, args: [\"itemMouseEnter\"] }], itemMouseLeave: [{ type: i0.Output, args: [\"itemMouseLeave\"] }], legendContainer: [{ type: i0.ViewChild, args: ['legendContainer', { isSignal: true }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtbGVnZW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NoYXJ0cy9jaGFydC1sZWdlbmQvc3JjL2xpYi9jaGFydC1sZWdlbmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2hhcnRzL2NoYXJ0LWxlZ2VuZC9zcmMvbGliL2NoYXJ0LWxlZ2VuZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQzs7O0FBWXZCLE1BQU0sT0FBTyxzQkFBc0I7SUFDakM7OztPQUdHO0lBQ0gsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLGdEQUEyQixDQUFDO0lBRWxEOztPQUVHO0lBQ0gsT0FBTyxHQUFHLEtBQUssQ0FBdUIsRUFBRSxtREFBQyxDQUFDO0lBRTFDOzs7T0FHRztJQUNILFNBQVMsR0FBRyxNQUFNLEVBQXFCLENBQUM7SUFFeEM7O09BRUc7SUFDSCxjQUFjLEdBQUcsTUFBTSxFQUFxQixDQUFDO0lBRTdDOztPQUVHO0lBQ0gsY0FBYyxHQUFHLE1BQU0sRUFBcUIsQ0FBQztJQUU3Qzs7T0FFRztJQUNILGVBQWUsR0FBRyxTQUFTLENBQTZCLGlCQUFpQiwyREFBQyxDQUFDO0lBRTNFLG1DQUFtQztJQUN6QixVQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxVQUFVLEtBQUssS0FBSyxzREFBQyxDQUFDO0lBQ2xFLGNBQWMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFB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aW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBjb21wdXRlZCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgdmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYQ2hhcnRMZWdlbmRDb21wYXRpYmxlLCBBWENoYXJ0TGVnZW5kSXRlbSwgQVhDaGFydExlZ2VuZE9wdGlvbnMgfSBmcm9tICcuL2NoYXJ0LWxlZ2VuZC50eXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY2hhcnQtbGVnZW5kJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYXJ0LWxlZ2VuZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoYXJ0LWxlZ2VuZC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEFYQ2hhcnRMZWdlbmRDb21wb25lbnQge1xuICAvKipcbiAgICogQ2hhcnQgY29tcG9uZW50IGluc3RhbmNlXG4gICAqIE11c3QgaW1wbGVtZW50IEFYQ2hhcnRMZWdlbmRDb21wYXRpYmxlIGludGVyZmFjZVxuICAgKi9cbiAgY2hhcnQgPSBpbnB1dC5yZXF1aXJlZDxBWENoYXJ0TGVnZW5kQ29tcGF0aWJsZT4oKTtcblxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgbGVnZW5kXG4gICAqL1xuICBvcHRpb25zID0gaW5wdXQ8QVhDaGFydExlZ2VuZE9wdGlvbnM+KHt9KTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGEgbGVnZW5kIGl0ZW0gaXMgY2xpY2tlZFxuICAgKiBSZXR1cm5zIHRoZSBpdGVtIHRoYXQgd2FzIGNsaWNrZWRcbiAgICovXG4gIGl0ZW1DbGljayA9IG91dHB1dDxBWENoYXJ0TGVnZW5kSXRlbT4oKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBtb3VzZSBlbnRlcnMgYSBsZWdlbmQgaXRlbVxuICAgKi9cbiAgaXRlbU1vdXNlRW50ZXIgPSBvdXRwdXQ8QVhDaGFydExlZ2VuZEl0ZW0+KCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgbW91c2UgbGVhdmVzIGEgbGVnZW5kIGl0ZW1cbiAgICovXG4gIGl0ZW1Nb3VzZUxlYXZlID0gb3V0cHV0PEFYQ2hhcnRMZWdlbmRJdGVtPigpO1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gbGVnZW5kIGNvbnRhaW5lciBmb3IgbWVhc3VyaW5nIGRpbWVuc2lvbnNcbiAgICovXG4gIGxlZ2VuZENvbnRhaW5lciA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50Pj4oJ2xlZ2VuZENvbnRhaW5lcicpO1xuXG4gIC8vIENvbXB1dGVkIHZhbHVlcyBmb3IgdGhlIHRlbXBsYXRlXG4gIHByb3RlY3RlZCBzaG93VmFsdWVzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5vcHRpb25zKCk/LnNob3dWYWx1ZXMgIT09IGZhbHNlKTtcbiAgcHJvdGVjdGVkIHNob3dQZXJjZW50YWdlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5vcHRpb25zKCk/LnNob3dQZXJjZW50YWdlICE9PSBmYWxzZSk7XG4gIHByb3RlY3RlZCBjb250YWluZXJDbGFzcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBvcHRzID0gdGhpcy5vcHRpb25zKCk7XG4gICAgY29uc3QgY2xhc3NOYW1lID0gb3B0cz8uY2xhc3NOYW1lIHx8ICcnO1xuICAgIGNvbnN0IG1vZGUgPSBvcHRzPy5tb2RlIHx8ICd2ZXJ0aWNhbCc7XG4gICAgcmV0dXJuIHtcbiAgICAgICdheC1jaGFydC1sZWdlbmQnOiB0cnVlLFxuICAgICAgW2NsYXNzTmFtZV06ICEhY2xhc3NOYW1lLFxuICAgICAgW2BheC1sZWdlbmQtJHttb2RlfWBdOiB0cnVlLFxuICAgIH07XG4gIH0pO1xuXG4gIC8vIFRyYWNrIGlmIHRoZSBsZWdlbmQgaXMgaW50ZXJhY3RpdmVcbiAgcHJvdGVjdGVkIGlzSW50ZXJhY3RpdmUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm9wdGlvbnMoKT8uaW50ZXJhY3RpdmUgIT09IGZhbHNlKTtcblxuICAvLyBDb21wdXRlIHRoZSBpdGVtcyB0byBkaXNwbGF5IGZyb20gdGhlIGNoYXJ0XG4gIHByb3RlY3RlZCBkaXNwbGF5SXRlbXMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuY2hhcnQoKS5nZXRMZWdlbmRJdGVtcygpO1xuICB9KTtcblxuICAvKipcbiAgICogSGFuZGxlIGNsaWNrcyBvbiBsZWdlbmQgaXRlbXNcbiAgICovXG4gIHByb3RlY3RlZCBvbkl0ZW1DbGljayhpdGVtOiBBWENoYXJ0TGVnZW5kSXRlbSk6IHZvaWQge1xuICAgIGNvbnN0IGNoYXJ0SW5zdGFuY2UgPSB0aGlzLmNoYXJ0KCk7XG5cbiAgICAvLyBJZiB3ZSBoYXZlIGEgY2hhcnQgYW5kIGl0J3MgaW50ZXJhY3RpdmUsIHRvZ2dsZSB0aGUgc2VnbWVudFxuICAgIGlmICh0aGlzLmlzSW50ZXJhY3RpdmUoKSkge1xuICAgICAgY29uc3QgaXNWaXNpYmxlID0gY2hhcnRJbnN0YW5jZS50b2dnbGVTZWdtZW50KGl0ZW0uaWQpO1xuICAgICAgLy8gVXBkYXRlIHRoZSBpdGVtJ3MgaGlkZGVuIHN0YXRlIHRvIHJlZmxlY3QgdGhlIGN1cnJlbnQgc3RhdGVcbiAgICAgIGl0ZW0uaGlkZGVuID0gIWlzVmlzaWJsZTtcbiAgICB9XG5cbiAgICAvLyBBbHdheXMgZW1pdCB0aGUgaXRlbSBjbGljayBldmVudFxuICAgIHRoaXMuaXRlbUNsaWNrLmVtaXQoaXRlbSk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIG1vdXNlIGVudGVyIG9uIGxlZ2VuZCBpdGVtc1xuICAgKi9cbiAgcHJvdGVjdGVkIG9uSXRlbU1vdXNlRW50ZXIoaXRlbTogQVhDaGFydExlZ2VuZEl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLmNoYXJ0KCkuaGlnaGxpZ2h0U2VnbWVudChudWxsKTtcbiAgICB0aGlzLml0ZW1Nb3VzZUVudGVyLmVtaXQoaXRlbSk7XG4gICAgdGhpcy5jaGFydCgpLmhpZ2hsaWdodFNlZ21lbnQoaXRlbS5pZCk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIG1vdXNlIGxlYXZlIG9uIGxlZ2VuZCBpdGVtc1xuICAgKi9cbiAgcHJvdGVjdGVkIG9uSXRlbU1vdXNlTGVhdmUoaXRlbTogQVhDaGFydExlZ2VuZEl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1Nb3VzZUxlYXZlLmVtaXQoaXRlbSk7XG4gICAgdGhpcy5jaGFydCgpLmhpZ2hsaWdodFNlZ21lbnQobnVsbCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxlZ2VuZCBjb250YWluZXIgZGltZW5zaW9uc1xuICAgKi9cbiAgZ2V0RGltZW5zaW9ucygpOiB7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH0ge1xuICAgIGlmICghdGhpcy5sZWdlbmRDb250YWluZXIoKT8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgcmV0dXJuIHsgd2lkdGg6IDAsIGhlaWdodDogMCB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB3aWR0aDogdGhpcy5sZWdlbmRDb250YWluZXIoKS5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoLFxuICAgICAgaGVpZ2h0OiB0aGlzLmxlZ2VuZENvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0LFxuICAgIH07XG4gIH1cbn1cbiIsIjxkaXYgI2xlZ2VuZENvbnRhaW5lciBbbmdDbGFzc109XCJjb250YWluZXJDbGFzcygpXCI+XG4gIEBmb3IgKGl0ZW0gb2YgZGlzcGxheUl0ZW1zKCk7IHRyYWNrIGl0ZW0uaWQpIHtcbiAgPGRpdiBjbGFzcz1cImF4LWxlZ2VuZC1pdGVtXCIgW2NsYXNzLmF4LWxlZ2VuZC1pdGVtLWhpZGRlbl09XCJpdGVtLmhpZGRlblwiIChjbGljayk9XCJvbkl0ZW1DbGljayhpdGVtKVwiXG4gICAgKG1vdXNlZW50ZXIpPVwib25JdGVtTW91c2VFbnRlcihpdGVtKVwiIChtb3VzZWxlYXZlKT1cIm9uSXRlbU1vdXNlTGVhdmUoaXRlbSlcIj5cbiAgICA8c3BhbiBjbGFzcz1cImF4LWxlZ2VuZC1jb2xvclwiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cIml0ZW0uY29sb3JcIj48L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJheC1sZWdlbmQtbmFtZVwiPnt7IGl0ZW0ubmFtZSB9fTwvc3Bhbj5cbiAgICBAaWYgKHNob3dWYWx1ZXMoKSkge1xuICAgIDxzcGFuIGNsYXNzPVwiYXgtbGVnZW5kLXZhbHVlXCI+e3sgaXRlbS52YWx1ZSB8IG51bWJlcjogJzEuMC0yJyB9fTwvc3Bhbj5cbiAgICB9XG4gICAgQGlmIChzaG93UGVyY2VudGFnZSgpKSB7XG4gICAgPHNwYW4gY2xhc3M9XCJheC1sZWdlbmQtcGVyY2VudGFnZVwiPnt7IGl0ZW0ucGVyY2VudGFnZSB8IG51bWJlcjogJzEuMC0yJyB9fSU8L3NwYW4+XG4gICAgfVxuICA8L2Rpdj5cbiAgfVxuPC9kaXY+Il19","/**\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":["../../../../packages/charts/chart-legend/src/lib/chart-legend.component.ts","../../../../packages/charts/chart-legend/src/lib/chart-legend.component.html","../../../../packages/charts/chart-legend/src/acorex-charts-chart-legend.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewEncapsulation,\n computed,\n input,\n output,\n viewChild,\n} from '@angular/core';\nimport { AXChartLegendCompatible, AXChartLegendItem, AXChartLegendOptions } from './chart-legend.type';\n\n@Component({\n selector: 'ax-chart-legend',\n templateUrl: './chart-legend.component.html',\n styleUrls: ['./chart-legend.component.scss'],\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXChartLegendComponent {\n /**\n * Chart component instance\n * Must implement AXChartLegendCompatible interface\n */\n chart = input.required<AXChartLegendCompatible>();\n\n /**\n * Configuration options for the legend\n */\n options = input<AXChartLegendOptions>({});\n\n /**\n * Event emitted when a legend item is clicked\n * Returns the item that was clicked\n */\n itemClick = output<AXChartLegendItem>();\n\n /**\n * Event emitted when the mouse enters a legend item\n */\n itemMouseEnter = output<AXChartLegendItem>();\n\n /**\n * Event emitted when the mouse leaves a legend item\n */\n itemMouseLeave = output<AXChartLegendItem>();\n\n /**\n * Reference to legend container for measuring dimensions\n */\n legendContainer = viewChild<ElementRef<HTMLDivElement>>('legendContainer');\n\n // Computed values for the template\n protected showValues = computed(() => this.options()?.showValues !== false);\n protected showPercentage = computed(() => this.options()?.showPercentage !== false);\n protected 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 });\n\n // Track if the legend is interactive\n protected isInteractive = computed(() => this.options()?.interactive !== false);\n\n // Compute the items to display from the chart\n protected displayItems = computed(() => {\n return this.chart().getLegendItems();\n });\n\n /**\n * Handle clicks on legend items\n */\n protected onItemClick(item: AXChartLegendItem): void {\n const chartInstance = this.chart();\n\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\n // Always emit the item click event\n this.itemClick.emit(item);\n }\n\n /**\n * Handle mouse enter on legend items\n */\n protected onItemMouseEnter(item: AXChartLegendItem): void {\n this.chart().highlightSegment(null);\n this.itemMouseEnter.emit(item);\n this.chart().highlightSegment(item.id);\n }\n\n /**\n * Handle mouse leave on legend items\n */\n protected onItemMouseLeave(item: AXChartLegendItem): void {\n this.itemMouseLeave.emit(item);\n this.chart().highlightSegment(null);\n }\n\n /**\n * Get legend container dimensions\n */\n getDimensions(): { width: number; height: number } {\n if (!this.legendContainer()?.nativeElement) {\n return { width: 0, height: 0 };\n }\n\n return {\n width: this.legendContainer().nativeElement.offsetWidth,\n height: this.legendContainer().nativeElement.offsetHeight,\n };\n }\n}\n","<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>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -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 /**\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.15\", ngImport: i0, type: AXChartTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.15\", 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\\n #tooltipContainer\\n class=\\\"chart-tooltip\\\"\\n [style.background-color]=\\\"data()!.tooltipBgColor || 'rgba(33,33,33,0.9)'\\\"\\n [style.color]=\\\"data()!.tooltipColor || 'white'\\\"\\n [style.left.px]=\\\"position().x\\\"\\n [style.top.px]=\\\"position().y\\\"\\n [ngStyle]=\\\"style()\\\"\\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\\\">{{ data()!.value }}</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: [\".chart-tooltip{pointer-events:none;position:absolute;z-index:10;max-width:200px;transform:translateY(-50%) translate(10px);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);transition:all .15s ease-in-out}.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}.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.15\", 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.background-color]=\\\"data()!.tooltipBgColor || 'rgba(33,33,33,0.9)'\\\"\\n [style.color]=\\\"data()!.tooltipColor || 'white'\\\"\\n [style.left.px]=\\\"position().x\\\"\\n [style.top.px]=\\\"position().y\\\"\\n [ngStyle]=\\\"style()\\\"\\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\\\">{{ data()!.value }}</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: [\".chart-tooltip{pointer-events:none;position:absolute;z-index:10;max-width:200px;transform:translateY(-50%) translate(10px);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);transition:all .15s ease-in-out}.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}.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: () => [], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: \"data\", required: false }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: \"position\", required: false }] }], visible: [{ type: i0.Input, args: [{ isSignal: true, alias: \"visible\", required: false }] }], showPercentage: [{ type: i0.Input, args: [{ isSignal: true, alias: \"showPercentage\", required: false }] }], style: [{ type: i0.Input, args: [{ isSignal: true, alias: \"style\", required: false }] }], tooltipContainer: [{ type: i0.ViewChild, args: ['tooltipContainer', { isSignal: true }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtdG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jaGFydHMvY2hhcnQtdG9vbHRpcC9zcmMvbGliL2NoYXJ0LXRvb2x0aXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2hhcnRzL2NoYXJ0LXRvb2x0aXAvc3JjL2xpYi9jaGFydC10b29sdGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxNQUFNLEVBQ04sZUFBZSxFQUNmLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOzs7QUFXdkIsTUFBTSxPQUFPLHVCQUF1QjtJQUMxQixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRWhDLElBQUksR0FBRyxLQUFLLENBQTRCLElBQUksZ0RBQUMsQ0FBQztJQUM5QyxRQUFRLEdBQUcsS0FBSyxDQUEyQixFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxvREFBQyxDQUFDO0lBQzNELE9BQU8sR0FBRyxLQUFLLENBQVUsS0FBSyxtREFBQyxDQUFDO0lBRWhDOztPQUVHO0lBQ0gsY0FBYyxHQUFHLEtBQUssQ0FBVSxJQUFJLDBEQUFDLENBQUM7SUFFdEM7O09BRUc7SUFDSCxLQUFLLEdBQUcsS0FBSyxDQUE0QixFQUFFLGlEQUFDLENBQUM7SUFFN0M7O09BRUc7SUFDSCxnQkFBZ0IsR0FBRyxTQUFTLENBQTZCLGtCQUFrQiw0REFBQyxDQUFDO0lBRTdFLHFCQUFxQjtJQUNYLFlBQVksR0FBRyxDQUFDLENBQUM7SUFDakIsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUU1QjtRQUNFLGVBQWUsQ0FB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QkFDTix1QkFBdUIsQ0FBQyxNQUFNO29rQkFzQlUsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIE5nWm9uZSxcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICB2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhDaGFydFRvb2x0aXBEYXRhIH0gZnJvbSAnLi9jaGFydC10b29sdGlwLnR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jaGFydC10b29sdGlwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYXJ0LXRvb2x0aXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGFydC10b29sdGlwLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQVhDaGFydFRvb2x0aXBDb21wb25lbnQge1xuICBwcml2YXRlIG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gIGRhdGEgPSBpbnB1dDxBWENoYXJ0VG9vbHRpcERhdGEgfCBudWxsPihudWxsKTtcbiAgcG9zaXRpb24gPSBpbnB1dDx7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0+KHsgeDogMCwgeTogMCB9KTtcbiAgdmlzaWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBzaG93IHRoZSB0b29sdGlwJ3MgcGVyY2VudGFnZSBiYWRnZVxuICAgKi9cbiAgc2hvd1BlcmNlbnRhZ2UgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgY3VzdG9tIHN0eWxpbmcgZm9yIHRoZSB0b29sdGlwXG4gICAqL1xuICBzdHlsZSA9IGlucHV0PHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0+KHt9KTtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRvb2x0aXAgY29udGFpbmVyIGZvciBtZWFzdXJpbmcgZGltZW5zaW9uc1xuICAgKi9cbiAgdG9vbHRpcENvbnRhaW5lciA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50Pj4oJ3Rvb2x0aXBDb250YWluZXInKTtcblxuICAvLyBUb29sdGlwIGRpbWVuc2lvbnNcbiAgcHJvdGVjdGVkIHRvb2x0aXBXaWR0aCA9IDA7XG4gIHByb3RlY3RlZCB0b29sdGlwSGVpZ2h0ID0gMDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgLy8gVXBkYXRlIHRvb2x0aXAgZGltZW5zaW9ucyB3aGVuIHZpc2libGUgY2hhbmdlc1xuICAgICAgdGhpcy51cGRhdGVUb29sdGlwRGltZW5zaW9ucygpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gSGVscGVycyB0byBzdXBwb3J0IGNvbG9yIGFzIHN0cmluZyB8IHN0cmluZ1tdXG4gIHByb3RlY3RlZCBpc0NvbG9yQXJyYXkoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY29sb3IgPSB0aGlzLmRhdGEoKT8uY29sb3IgYXMgdW5rbm93bjtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShjb2xvcik7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29sb3JMaXN0KCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBjb2xvciA9IHRoaXMuZGF0YSgpPy5jb2xvciBhcyB1bmtub3duO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KGNvbG9yKSA/IChjb2xvciBhcyBzdHJpbmdbXSkgOiBbXTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzaW5nbGVDb2xvcigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCBjb2xvciA9IHRoaXMuZGF0YSgpPy5jb2xvciBhcyB1bmtub3duO1xuICAgIHJldHVybiB0eXBlb2YgY29sb3IgPT09ICdzdHJpbmcnID8gKGNvbG9yIGFzIHN0cmluZykgOiBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzVGl0bGVBcnJheSgpOiBib29sZWFuIHtcbiAgICBjb25zdCB0ID0gdGhpcy5kYXRhKCk/LnRpdGxlIGFzIHVua25vd247XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdGl0bGVMaXN0KCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCB0ID0gdGhpcy5kYXRhKCk/LnRpdGxlIGFzIHVua25vd247XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodCkgPyAodCBhcyBzdHJpbmdbXSkgOiBbXTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjb2xvckF0KGluZGV4OiBudW1iZXIpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCBjID0gdGhpcy5kYXRhKCk/LmNvbG9yIGFzIHVua25vd247XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoYykpIHtcbiAgICAgIHJldHVybiAoYyBhcyBzdHJpbmdbXSlbaW5kZXhdID8/IG51bGw7XG4gICAgfVxuICAgIHJldHVybiB0eXBlb2YgYyA9PT0gJ3N0cmluZycgPyAoYyBhcyBzdHJpbmcpIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRvb2x0aXAgZGltZW5zaW9ucyBhZnRlciBpdCdzIHJlbmRlcmVkXG4gICAqL1xuICBwcm90ZWN0ZWQgdXBkYXRlVG9vbHRpcERpbWVuc2lvbnMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudmlzaWJsZSgpICYmIHRoaXMudG9vbHRpcENvbnRhaW5lcikge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAvLyBVc2UgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIHRvIGVuc3VyZSBkaW1lbnNpb25zIGFyZSBjYWxjdWxhdGVkIGFmdGVyIHJlbmRlclxuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLnRvb2x0aXBDb250YWluZXIoKT8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy50b29sdGlwV2lkdGggPSB0aGlzLnRvb2x0aXBDb250YWluZXIoKS5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgICAgICAgdGhpcy50b29sdGlwSGVpZ2h0ID0gdGhpcy50b29sdGlwQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWRqdXN0ZWQgdG9vbHRpcCBwb3NpdGlvblxuICAgKiBFeHBvc2VzIHByb3BlcnRpZXMgZm9yIHBhcmVudCBjb21wb25lbnRzIHRvIHF1ZXJ5IHRvb2x0aXAgZGltZW5zaW9uc1xuICAgKi9cbiAgZ2V0RGltZW5zaW9ucygpOiB7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH0ge1xuICAgIHJldHVybiB7XG4gICAgICB3aWR0aDogdGhpcy50b29sdGlwV2lkdGgsXG4gICAgICBoZWlnaHQ6IHRoaXMudG9vbHRpcEhlaWdodCxcbiAgICB9O1xuICB9XG59XG4iLCJAaWYgKHZpc2libGUoKSAmJiBkYXRhKCkpIHtcbiAgPGRpdlxuICAgICN0b29sdGlwQ29udGFpbmVyXG4gICAgY2xhc3M9XCJjaGFydC10b29sdGlwXCJcbiAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJkYXRhKCkhLnRvb2x0aXBCZ0NvbG9yIHx8ICdyZ2JhKDMzLDMzLDMzLDAuOSknXCJcbiAgICBbc3R5bGUuY29sb3JdPVwiZGF0YSgpIS50b29sdGlwQ29sb3IgfHwgJ3doaXRlJ1wiXG4gICAgW3N0eWxlLmxlZnQucHhdPVwicG9zaXRpb24oKS54XCJcbiAgICBbc3R5bGUudG9wLnB4XT1cInBvc2l0aW9uKCkueVwiXG4gICAgW25nU3R5bGVdPVwic3R5bGUoKVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiY2hhcnQtdG9vbHRpcC1jb250ZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2hhcnQtdG9vbHRpcC1ib2R5XCI+XG4gICAgICAgIEBpZiAoIWlzVGl0bGVBcnJheSgpKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoYXJ0LXRvb2x0aXAtdGl0bGUtcm93XCI+XG4gICAgICAgICAgICBAaWYgKHNpbmdsZUNvbG9yKCkpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoYXJ0LXRvb2x0aXAtY29sb3JcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJzaW5nbGVDb2xvcigpIVwiPjwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoYXJ0LXRvb2x0aXAtdGl0bGVcIj5cbiAgICAgICAgICAgICAge3sgZGF0YSgpIS50aXRsZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGFydC10b29sdGlwLXRpdGxlLWxpc3RcIj5cbiAgICAgICAgICAgIEBmb3IgKHQgb2YgdGl0bGVMaXN0KCk7IGxldCBpID0gJGluZGV4OyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoYXJ0LXRvb2x0aXAtdGl0bGUtcm93XCI+XG4gICAgICAgICAgICAgICAgQGlmIChjb2xvckF0KGkpKSB7XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hhcnQtdG9vbHRpcC1jb2xvclwiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImNvbG9yQXQoaSkhXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGFydC10b29sdGlwLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICB7eyB0IH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoYXJ0LXRvb2x0aXAtdmFsdWUtcm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoYXJ0LXRvb2x0aXAtdmFsdWVcIj57eyBkYXRhKCkhLnZhbHVlIH19PC9kaXY+XG4gICAgICAgICAgQGlmIChzaG93UGVyY2VudGFnZSgpICYmIGRhdGEoKSEucGVyY2VudGFnZSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoYXJ0LXRvb2x0aXAtcGVyY2VudGFnZVwiPlxuICAgICAgICAgICAgICB7eyBkYXRhKCkhLnBlcmNlbnRhZ2UgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNoYXJ0cy1jaGFydC10b29sdGlwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY2hhcnRzL2NoYXJ0LXRvb2x0aXAvc3JjL2Fjb3JleC1jaGFydHMtY2hhcnQtdG9vbHRpcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;;AAIO,MAAM,uBAAuB,CAAC;AACrC,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAC3B,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACrE,IAAI,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACvF,IAAI,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5E;AACA;AACA;AACA,IAAI,cAAc,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACzF;AACA;AACA;AACA,IAAI,KAAK,GAAG,KAAK,CAAC,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACrE;AACA;AACA;AACA,IAAI,gBAAgB,GAAG,SAAS,CAAC,kBAAkB,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC/G;AACA,IAAI,YAAY,GAAG,CAAC;AACpB,IAAI,aAAa,GAAG,CAAC;AACrB,IAAI,WAAW,GAAG;AAClB,QAAQ,eAAe,CAAC,MAAM;AAC9B;AACA,YAAY,IAAI,CAAC,uBAAuB,EAAE;AAC1C,QAAQ,CAAC,CAAC;AACV,IAAI;AACJ;AACA,IAAI,YAAY,GAAG;AACnB,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK;AACxC,QAAQ,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AACnC,IAAI;AACJ,IAAI,SAAS,GAAG;AAChB,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK;AACxC,QAAQ,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE;AAChD,IAAI;AACJ,IAAI,WAAW,GAAG;AAClB,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK;AACxC,QAAQ,OAAO,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,GAAG,IAAI;AACvD,IAAI;AACJ,IAAI,YAAY,GAAG;AACnB,QAAQ,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK;AACpC,QAAQ,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/B,IAAI;AACJ,IAAI,SAAS,GAAG;AAChB,QAAQ,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK;AACpC,QAAQ,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE;AACxC,IAAI;AACJ,IAAI,OAAO,CAAC,KAAK,EAAE;AACnB,QAAQ,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK;AACpC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;AAC9B,YAAY,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI;AACnC,QAAQ;AACR,QAAQ,OAAO,OAAO,CAAC,KAAK,QAAQ,GAAG,CAAC,GAAG,IAAI;AAC/C,IAAI;AACJ;AACA;AACA;AACA,IAAI,uBAAuB,GAAG;AAC9B,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACrD,YAAY,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM;AAChD;AACA,gBAAgB,qBAAqB,CAAC,MAAM;AAC5C,oBAAoB,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,aAAa,EAAE;AAChE,wBAAwB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,aAAa,CAAC,WAAW;AAC7F,wBAAwB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,aAAa,CAAC,YAAY;AAC/F,oBAAoB;AACpB,gBAAgB,CAAC,CAAC;AAClB,YAAY,CAAC,CAAC;AACd,QAAQ;AACR,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI,aAAa,GAAG;AACpB,QAAQ,OAAO;AACf,YAAY,KAAK,EAAE,IAAI,CAAC,YAAY;AACpC,YAAY,MAAM,EAAE,IAAI,CAAC,aAAa;AACtC,SAAS;AACT,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;AAClL,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,uBAAuB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,kBAAkB,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,6nDAA6nD,EAAE,MAAM,EAAE,CAAC,ynCAAynC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC;AACx5H;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,CAAC;AAClI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,eAAe,EAAE,uBAAuB,CAAC,MAAM,EAAE,QAAQ,EAAE,6nDAA6nD,EAAE,MAAM,EAAE,CAAC,ynCAAynC,CAAC,EAAE;AAC75F,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;;AC1FnnB;AACA;AACA;;;;"}
1
+ {"version":3,"file":"acorex-charts-chart-tooltip.mjs","sources":["../../../../packages/charts/chart-tooltip/src/lib/chart-tooltip.component.ts","../../../../packages/charts/chart-tooltip/src/lib/chart-tooltip.component.html","../../../../packages/charts/chart-tooltip/src/acorex-charts-chart-tooltip.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n NgZone,\n afterNextRender,\n inject,\n input,\n viewChild,\n} from '@angular/core';\nimport { AXChartTooltipData } from './chart-tooltip.type';\n\n@Component({\n selector: 'ax-chart-tooltip',\n templateUrl: './chart-tooltip.component.html',\n styleUrls: ['./chart-tooltip.component.scss'],\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXChartTooltipComponent {\n private ngZone = inject(NgZone);\n\n data = input<AXChartTooltipData | null>(null);\n position = input<{ x: number; y: number }>({ x: 0, y: 0 });\n visible = input<boolean>(false);\n\n /**\n * Whether to show the tooltip's percentage badge\n */\n showPercentage = input<boolean>(true);\n\n /**\n * Optional custom styling for the tooltip\n */\n style = input<{ [key: string]: string }>({});\n\n /**\n * Reference to tooltip container for measuring dimensions\n */\n tooltipContainer = viewChild<ElementRef<HTMLDivElement>>('tooltipContainer');\n\n // Tooltip dimensions\n protected tooltipWidth = 0;\n protected tooltipHeight = 0;\n\n constructor() {\n afterNextRender(() => {\n // Update tooltip dimensions when visible changes\n this.updateTooltipDimensions();\n });\n }\n\n // Helpers to support color as string | string[]\n protected isColorArray(): boolean {\n const color = this.data()?.color as unknown;\n return Array.isArray(color);\n }\n\n protected colorList(): string[] {\n const color = this.data()?.color as unknown;\n return Array.isArray(color) ? (color as string[]) : [];\n }\n\n protected singleColor(): string | null {\n const color = this.data()?.color as unknown;\n return typeof color === 'string' ? (color as string) : null;\n }\n\n protected isTitleArray(): boolean {\n const t = this.data()?.title as unknown;\n return Array.isArray(t);\n }\n\n protected titleList(): string[] {\n const t = this.data()?.title as unknown;\n return Array.isArray(t) ? (t as string[]) : [];\n }\n\n protected colorAt(index: number): string | null {\n const c = this.data()?.color as unknown;\n if (Array.isArray(c)) {\n return (c as string[])[index] ?? null;\n }\n return typeof c === 'string' ? (c as string) : null;\n }\n\n /**\n * Updates tooltip dimensions after it's rendered\n */\n protected updateTooltipDimensions(): void {\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 /**\n * Get adjusted tooltip position\n * Exposes properties for parent components to query tooltip dimensions\n */\n getDimensions(): { width: number; height: number } {\n return {\n width: this.tooltipWidth,\n height: this.tooltipHeight,\n };\n }\n}\n","@if (visible() && data()) {\n <div\n #tooltipContainer\n class=\"chart-tooltip\"\n [style.background-color]=\"data()!.tooltipBgColor || 'rgba(33,33,33,0.9)'\"\n [style.color]=\"data()!.tooltipColor || 'white'\"\n [style.left.px]=\"position().x\"\n [style.top.px]=\"position().y\"\n [ngStyle]=\"style()\"\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\">{{ data()!.value }}</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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}