{"version":3,"sources":["node_modules/ng2-charts/fesm2020/ng2-charts.mjs"],"sourcesContent":["import * as i0 from '@angular/core';\nimport { Injectable, EventEmitter, Directive, Input, Output, NgModule, Optional } from '@angular/core';\nimport { Chart, registerables, defaults } from 'chart.js';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { merge } from 'lodash-es';\nimport { BehaviorSubject } from 'rxjs';\nlet ThemeService = /*#__PURE__*/(() => {\n class ThemeService {\n constructor() {\n this.colorschemesOptions = new BehaviorSubject(undefined);\n }\n setColorschemesOptions(options) {\n this.pColorschemesOptions = options;\n this.colorschemesOptions.next(options);\n }\n getColorschemesOptions() {\n return this.pColorschemesOptions;\n }\n }\n ThemeService.ɵfac = function ThemeService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || ThemeService)();\n };\n ThemeService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ThemeService,\n factory: ThemeService.ɵfac,\n providedIn: 'root'\n });\n return ThemeService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet BaseChartDirective = /*#__PURE__*/(() => {\n class BaseChartDirective {\n constructor(element, zone, themeService) {\n this.zone = zone;\n this.themeService = themeService;\n this.type = 'bar';\n this.plugins = [];\n this.chartClick = new EventEmitter();\n this.chartHover = new EventEmitter();\n this.subs = [];\n this.themeOverrides = {};\n this.ctx = element.nativeElement.getContext('2d');\n this.subs.push(this.themeService.colorschemesOptions.pipe(distinctUntilChanged()).subscribe(r => this.themeChanged(r)));\n }\n ngOnChanges(changes) {\n const requireRender = ['type'];\n const propertyNames = Object.getOwnPropertyNames(changes);\n if (propertyNames.some(key => requireRender.includes(key)) || propertyNames.every(key => changes[key].isFirstChange())) {\n this.render();\n } else {\n const config = this.getChartConfiguration();\n // Using assign to avoid changing the original object reference\n if (this.chart) {\n Object.assign(this.chart.config.data, config.data);\n if (this.chart.config.plugins) {\n Object.assign(this.chart.config.plugins, config.plugins);\n }\n if (this.chart.config.options) {\n Object.assign(this.chart.config.options, config.options);\n }\n }\n this.update();\n }\n }\n ngOnDestroy() {\n if (this.chart) {\n this.chart.destroy();\n this.chart = void 0;\n }\n this.subs.forEach(s => s.unsubscribe());\n }\n render() {\n if (this.chart) {\n this.chart.destroy();\n }\n return this.zone.runOutsideAngular(() => this.chart = new Chart(this.ctx, this.getChartConfiguration()));\n }\n update(duration) {\n if (this.chart) {\n this.zone.runOutsideAngular(() => this.chart?.update(duration));\n }\n }\n hideDataset(index, hidden) {\n if (this.chart) {\n this.chart.getDatasetMeta(index).hidden = hidden;\n this.update();\n }\n }\n isDatasetHidden(index) {\n return this.chart?.getDatasetMeta(index)?.hidden;\n }\n toBase64Image() {\n return this.chart?.toBase64Image();\n }\n themeChanged(options) {\n this.themeOverrides = options;\n if (this.chart) {\n if (this.chart.config.options) {\n Object.assign(this.chart.config.options, this.getChartOptions());\n }\n this.update();\n }\n }\n getChartOptions() {\n return merge({\n onHover: (event, active) => {\n if (!this.chartHover.observed && !this.chartHover.observers?.length) {\n return;\n }\n this.zone.run(() => this.chartHover.emit({\n event,\n active\n }));\n },\n onClick: (event, active) => {\n if (!this.chartClick.observed && !this.chartClick.observers?.length) {\n return;\n }\n this.zone.run(() => this.chartClick.emit({\n event,\n active\n }));\n }\n }, this.themeOverrides, this.options, {\n plugins: {\n legend: {\n display: this.legend\n }\n }\n });\n }\n getChartConfiguration() {\n return {\n type: this.type,\n data: this.getChartData(),\n options: this.getChartOptions(),\n plugins: this.plugins\n };\n }\n getChartData() {\n return this.data ? this.data : {\n labels: this.labels || [],\n datasets: this.datasets || []\n };\n }\n }\n BaseChartDirective.ɵfac = function BaseChartDirective_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || BaseChartDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(ThemeService));\n };\n BaseChartDirective.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: BaseChartDirective,\n selectors: [[\"canvas\", \"baseChart\", \"\"]],\n inputs: {\n type: \"type\",\n legend: \"legend\",\n data: \"data\",\n options: \"options\",\n plugins: \"plugins\",\n labels: \"labels\",\n datasets: \"datasets\"\n },\n outputs: {\n chartClick: \"chartClick\",\n chartHover: \"chartHover\"\n },\n exportAs: [\"base-chart\"],\n standalone: false,\n features: [i0.ɵɵNgOnChangesFeature]\n });\n return BaseChartDirective;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst baseColors = [[255, 99, 132], [54, 162, 235], [255, 206, 86], [231, 233, 237], [75, 192, 192], [151, 187, 205], [220, 220, 220], [247, 70, 74], [70, 191, 189], [253, 180, 92], [148, 159, 177], [77, 83, 96]];\nconst builtInDefaults = {\n plugins: {\n colors: {\n enabled: false\n }\n },\n datasets: {\n line: {\n backgroundColor: context => rgba(generateColor(context.datasetIndex), 0.4),\n borderColor: context => rgba(generateColor(context.datasetIndex), 1),\n pointBackgroundColor: context => rgba(generateColor(context.datasetIndex), 1),\n pointBorderColor: '#fff'\n },\n bar: {\n backgroundColor: context => rgba(generateColor(context.datasetIndex), 0.6),\n borderColor: context => rgba(generateColor(context.datasetIndex), 1)\n },\n get radar() {\n return this.line;\n },\n doughnut: {\n backgroundColor: context => rgba(generateColor(context.dataIndex), 0.6),\n borderColor: '#fff'\n },\n get pie() {\n return this.doughnut;\n },\n polarArea: {\n backgroundColor: context => rgba(generateColor(context.dataIndex), 0.6),\n borderColor: context => rgba(generateColor(context.dataIndex), 1)\n },\n get bubble() {\n return this.doughnut;\n },\n get scatter() {\n return this.doughnut;\n },\n get area() {\n return this.polarArea;\n }\n }\n};\nfunction rgba(colour, alpha) {\n return 'rgba(' + colour.concat(alpha).join(',') + ')';\n}\nfunction getRandomInt(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n}\nfunction getRandomColor() {\n return [getRandomInt(0, 255), getRandomInt(0, 255), getRandomInt(0, 255)];\n}\n/**\n * Generate colors\n */\nfunction generateColor(index = 0) {\n return baseColors[index] || getRandomColor();\n}\nlet NgChartsConfiguration = /*#__PURE__*/(() => {\n class NgChartsConfiguration {\n constructor() {\n this.generateColors = true;\n }\n }\n NgChartsConfiguration.ɵfac = function NgChartsConfiguration_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || NgChartsConfiguration)();\n };\n NgChartsConfiguration.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: NgChartsConfiguration,\n factory: NgChartsConfiguration.ɵfac,\n providedIn: 'root'\n });\n return NgChartsConfiguration;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nChart.register(...registerables);\nlet NgChartsModule = /*#__PURE__*/(() => {\n class NgChartsModule {\n constructor(config) {\n if (config?.plugins) Chart.register(...config?.plugins);\n const ngChartsDefaults = merge(config?.generateColors ? builtInDefaults : {}, config?.defaults || {});\n defaults.set(ngChartsDefaults);\n }\n static forRoot(config) {\n return {\n ngModule: NgChartsModule,\n providers: [{\n provide: NgChartsConfiguration,\n useValue: config\n }]\n };\n }\n }\n NgChartsModule.ɵfac = function NgChartsModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || NgChartsModule)(i0.ɵɵinject(NgChartsConfiguration, 8));\n };\n NgChartsModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NgChartsModule\n });\n NgChartsModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n return NgChartsModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/*\n * Public API Surface of ng2-charts\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BaseChartDirective, NgChartsConfiguration, NgChartsModule, ThemeService, baseColors };\n"],"mappings":"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","names":["rgba","colour","alpha","getRandomInt","min","max","getRandomColor","generateColor","index","baseColors","ThemeService","BaseChartDirective","builtInDefaults","NgChartsConfiguration","NgChartsModule","init_ng2_charts","__esmMin","init_core","init_chart","init_operators","init_lodash","init_esm","BehaviorSubject","options","__ngFactoryType__","ɵɵdefineInjectable","element","zone","themeService","EventEmitter","distinctUntilChanged","r","changes","requireRender","propertyNames","key","config","s","Chart","duration","hidden","merge_default","event","active","ɵɵdirectiveInject","ElementRef","NgZone","ɵɵdefineDirective","ɵɵNgOnChangesFeature","context","registerables","ngChartsDefaults","defaults","ɵɵinject","ɵɵdefineNgModule","ɵɵdefineInjector"],"x_google_ignoreList":[0]}