{"version":3,"file":"ng2-charts.mjs","sources":["../../../projects/ng2-charts/src/lib/theme.service.ts","../../../projects/ng2-charts/src/lib/base-chart.directive.ts","../../../projects/ng2-charts/src/lib/base-colors.ts","../../../projects/ng2-charts/src/lib/get-colors.ts","../../../projects/ng2-charts/src/lib/ng-charts.module.ts","../../../projects/ng2-charts/src/public_api.ts","../../../projects/ng2-charts/src/ng2-charts.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { ChartConfiguration, ChartOptions } from 'chart.js';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class ThemeService {\n  private pColorschemesOptions?: ChartOptions;\n  public colorschemesOptions: BehaviorSubject<ChartOptions | undefined> = new BehaviorSubject<ChartOptions | undefined>(undefined);\n\n  constructor() {\n  }\n\n  setColorschemesOptions(options: ChartConfiguration['options']): void {\n    this.pColorschemesOptions = options;\n    this.colorschemesOptions.next(options);\n  }\n\n  getColorschemesOptions(): ChartConfiguration['options'] {\n    return this.pColorschemesOptions;\n  }\n}\n","import {\n  Directive,\n  ElementRef,\n  EventEmitter,\n  Input,\n  NgZone,\n  OnChanges,\n  OnDestroy,\n  Output,\n  SimpleChanges,\n} from '@angular/core';\nimport {\n  Chart,\n  ChartConfiguration,\n  ChartEvent,\n  ChartType,\n  DefaultDataPoint,\n  Plugin\n} from 'chart.js';\n\nimport { ThemeService } from './theme.service';\nimport { Subscription } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\nimport { merge } from 'lodash-es';\n\n@Directive({\n  // eslint-disable-next-line @angular-eslint/directive-selector\n  selector: 'canvas[baseChart]',\n  exportAs: 'base-chart',\n})\nexport class BaseChartDirective<TType extends ChartType = ChartType,\n  TData = DefaultDataPoint<TType>,\n  TLabel = unknown> implements OnDestroy, OnChanges {\n\n  @Input() public type: ChartConfiguration<TType, TData, TLabel>['type'] = 'bar' as TType;\n  @Input() public legend?: boolean;\n  @Input() public data?: ChartConfiguration<TType, TData, TLabel>['data'];\n  @Input() public options: ChartConfiguration<TType, TData, TLabel>['options'];\n  @Input() public plugins: Plugin<TType>[] = [];\n\n  @Input() public labels?: ChartConfiguration<TType, TData, TLabel>['data']['labels'];\n  @Input() public datasets?: ChartConfiguration<TType, TData, TLabel>['data']['datasets'];\n\n  @Output() public chartClick: EventEmitter<{ event?: ChartEvent, active?: {}[] }> = new EventEmitter();\n  @Output() public chartHover: EventEmitter<{ event: ChartEvent, active: {}[] }> = new EventEmitter();\n\n  public ctx: string;\n  public chart?: Chart<TType, TData, TLabel>;\n\n  private subs: Subscription[] = [];\n  private themeOverrides: ChartConfiguration['options'] = {};\n\n  public constructor(element: ElementRef, private zone: NgZone, private themeService: ThemeService) {\n    this.ctx = element.nativeElement.getContext('2d');\n    this.subs.push(this.themeService.colorschemesOptions\n      .pipe(distinctUntilChanged())\n      .subscribe(r => this.themeChanged(r)));\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const requireRender = [ 'type' ];\n    const propertyNames = Object.getOwnPropertyNames(changes);\n\n    if (propertyNames.some(key => requireRender.includes(key)) ||\n      propertyNames.every(key => changes[key].isFirstChange())\n    ) {\n      this.render();\n    } else {\n      const config = this.getChartConfiguration();\n\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\n      this.update();\n    }\n  }\n\n  public ngOnDestroy(): void {\n    if (this.chart) {\n      this.chart.destroy();\n      this.chart = void 0;\n    }\n    this.subs.forEach(s => s.unsubscribe());\n  }\n\n  public render(): Chart<TType, TData, TLabel> {\n    if (this.chart) {\n      this.chart.destroy();\n    }\n\n    return this.zone.runOutsideAngular(() => this.chart = new Chart(this.ctx, this.getChartConfiguration()));\n  }\n\n  public update(duration?: any): void {\n    if (this.chart) {\n      this.zone.runOutsideAngular(() => this.chart?.update(duration));\n    }\n  }\n\n  public hideDataset(index: number, hidden: boolean): void {\n    if (this.chart) {\n      this.chart.getDatasetMeta(index).hidden = hidden;\n      this.update();\n    }\n  }\n\n  public isDatasetHidden(index: number): boolean | undefined {\n    return this.chart?.getDatasetMeta(index)?.hidden;\n  }\n\n  public toBase64Image(): string | undefined {\n    return this.chart?.toBase64Image();\n  }\n\n  private themeChanged(options: ChartConfiguration['options']): void {\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\n      this.update();\n    }\n  }\n\n  private getChartOptions(): ChartConfiguration<TType, TData, TLabel>['options'] {\n    return merge({\n        onHover: (event: ChartEvent, active: {}[]) => {\n          if (!this.chartHover.observed && !this.chartHover.observers?.length) {\n            return;\n          }\n\n          this.zone.run(() => this.chartHover.emit({ event, active }));\n        },\n        onClick: (event?: ChartEvent, active?: {}[]) => {\n          if (!this.chartClick.observed && !this.chartClick.observers?.length) {\n            return;\n          }\n\n          this.zone.run(() => this.chartClick.emit({ event, active }));\n        }\n      },\n      this.themeOverrides,\n      this.options,\n      {\n        plugins: {\n          legend: {\n            display: this.legend\n          }\n        }\n      });\n  }\n\n  private getChartConfiguration(): ChartConfiguration<TType, TData, TLabel> {\n    return {\n      type: this.type,\n      data: this.getChartData(),\n      options: this.getChartOptions(),\n      plugins: this.plugins\n    };\n  }\n\n  private getChartData(): ChartConfiguration<TType, TData, TLabel>['data'] {\n    return this.data ? this.data : {\n      labels: this.labels || [],\n      datasets: this.datasets || []\n    }\n  }\n}\n","export const baseColors: Array<number[]> = [\n  [255, 99, 132],\n  [54, 162, 235],\n  [255, 206, 86],\n  [231, 233, 237],\n  [75, 192, 192],\n  [151, 187, 205],\n  [220, 220, 220],\n  [247, 70, 74],\n  [70, 191, 189],\n  [253, 180, 92],\n  [148, 159, 177],\n  [77, 83, 96]\n];\n","import { baseColors } from './base-colors';\nimport { Color } from 'chart.js';\n\nexport const builtInDefaults = {\n  plugins: { colors: {enabled: false }},\n  datasets: {\n    line: {\n      backgroundColor: (context: any) => rgba(generateColor(context.datasetIndex), 0.4),\n      borderColor: (context: any) => rgba(generateColor(context.datasetIndex), 1),\n      pointBackgroundColor: (context: any) => rgba(generateColor(context.datasetIndex), 1),\n      pointBorderColor: '#fff',\n    },\n    bar: {\n      backgroundColor: (context: any) => rgba(generateColor(context.datasetIndex), 0.6),\n      borderColor: (context: any) => rgba(generateColor(context.datasetIndex), 1)\n    },\n    get radar(): {[key: string]: ((context: any) => Color) | Color } {\n      return this.line;\n    },\n    doughnut: {\n      backgroundColor: (context: any) => rgba(generateColor(context.dataIndex), 0.6),\n      borderColor: '#fff'\n    },\n    get pie(): {[key: string]: ((context: any) => Color) | Color } {\n      return this.doughnut;\n    },\n    polarArea: {\n      backgroundColor: (context: any) => rgba(generateColor(context.dataIndex), 0.6),\n      borderColor: (context: any) => rgba(generateColor(context.dataIndex), 1),\n    },\n    get bubble(): {[key: string]: ((context: any) => Color) | Color } {\n      return this.doughnut;\n    },\n    get scatter(): {[key: string]: ((context: any) => Color) | Color } {\n      return this.doughnut;\n    },\n    get area(): {[key: string]: ((context: any) => Color) | Color } {\n      return this.polarArea;\n    }\n  }\n};\n\nfunction rgba(colour: Array<number>, alpha: number): Color {\n  return 'rgba(' + colour.concat(alpha).join(',') + ')';\n}\n\nfunction getRandomInt(min: number, max: number): number {\n  return Math.floor(Math.random() * (max - min + 1)) + min;\n}\n\nfunction getRandomColor(): number[] {\n  return [ getRandomInt(0, 255), getRandomInt(0, 255), getRandomInt(0, 255) ];\n}\n\n/**\n * Generate colors\n */\nfunction generateColor(index = 0): number[] {\n  return baseColors[index] || getRandomColor();\n}\n","import { Injectable, ModuleWithProviders, NgModule, Optional } from '@angular/core';\nimport { BaseChartDirective } from './base-chart.directive';\nimport { Chart, registerables, ChartComponentLike, Defaults, defaults } from 'chart.js';\nimport { merge } from \"lodash-es\";\nimport { builtInDefaults } from \"./get-colors\";\n\n@Injectable({ providedIn: 'root' })\nexport class NgChartsConfiguration {\n  public plugins?: ChartComponentLike[];\n  public defaults?: Partial<Defaults>;\n  public generateColors = true;\n}\n\nChart.register(...registerables);\n\n@NgModule({\n  imports: [],\n  declarations: [ BaseChartDirective ],\n  exports: [ BaseChartDirective ]\n})\nexport class NgChartsModule {\n\n  constructor(@Optional() config?: NgChartsConfiguration) {\n    if (config?.plugins)\n      Chart.register(...config?.plugins);\n\n    const ngChartsDefaults = merge(config?.generateColors ? builtInDefaults : {}, config?.defaults || {});\n\n    defaults.set(ngChartsDefaults);\n  }\n\n  public static forRoot(config?: NgChartsConfiguration): ModuleWithProviders<NgChartsModule> {\n    return {\n      ngModule: NgChartsModule,\n      providers: [\n        { provide: NgChartsConfiguration, useValue: config }\n      ]\n    };\n  }\n}\n","/*\n * Public API Surface of ng2-charts\n */\n\nexport * from './lib/ng-charts.module';\nexport * from './lib/base-chart.directive';\nexport * from './lib/theme.service';\nexport * from './lib/base-colors';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.ThemeService"],"mappings":"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"}