{"version":3,"file":"covalent-echarts-histogram.mjs","sources":["../../../../libs/angular-echarts/histogram/src/histogram.component.ts","../../../../libs/angular-echarts/histogram/src/histogram.module.ts","../../../../libs/angular-echarts/histogram/src/covalent-echarts-histogram.ts"],"sourcesContent":["import {\n  Component,\n  Input,\n  ChangeDetectionStrategy,\n  forwardRef,\n  OnChanges,\n} from '@angular/core';\n\nimport {\n  assignDefined,\n  TdChartOptionsService,\n  TdSeriesDirective,\n} from '@covalent/echarts/base';\nimport { ITdBarSeries, TdChartSeriesBarComponent } from '@covalent/echarts/bar';\nimport * as ecStat from 'echarts-stat';\n\nexport type TdHistogramBinningMethod =\n  | 'squareRoot'\n  | 'scott'\n  | 'freedmanDiaconis'\n  | 'sturges';\n\nexport interface ITdHistogramSeries extends ITdBarSeries {\n  data?: number[] | number[][];\n  method?: TdHistogramBinningMethod;\n}\n\n@Component({\n  selector: 'td-chart-series[td-histogram]',\n  template: '',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  inputs: [\n    'config',\n    'id',\n    'name',\n    'color',\n    'data',\n\n    'animation',\n    'animationThreshold',\n    'animationDuration',\n    'animationEasing',\n    'animationDelay',\n    'animationDurationUpdate',\n    'animationEasingUpdate',\n    'animationDelayUpdate',\n    'tooltip',\n  ],\n  providers: [\n    {\n      provide: TdSeriesDirective,\n      useExisting: forwardRef(() => TdChartSeriesHistogramComponent),\n    },\n  ],\n})\nexport class TdChartSeriesHistogramComponent\n  extends TdChartSeriesBarComponent\n  implements ITdHistogramSeries, OnChanges\n{\n  @Input() source?: number[] | number[][];\n  @Input() method?: TdHistogramBinningMethod;\n\n  constructor(_optionsService: TdChartOptionsService) {\n    super(_optionsService);\n  }\n\n  override ngOnChanges(): void {\n    let output: any = [];\n    if (!this.source) {\n      const dataset: any = this.optionsService.getOption('dataset');\n      this.source = dataset?.source ?? [];\n    }\n\n    if (this.source?.some((item) => Array.isArray(item))) {\n      const config = this.getConfig();\n      const index = config.datasetIndex ?? 1;\n      const source: any[] = this.source;\n      const indexedOutput = source[0].map((_: any, colIndex: string | number) =>\n        source.map((row) => row[colIndex])\n      );\n      output = indexedOutput[index - 1] ?? [];\n    } else {\n      output = this.source;\n    }\n\n    const bins = ecStat.histogram(output, this.method ?? 'squareRoot');\n    this.data = bins.data;\n    this.setOptions();\n  }\n\n  override getConfig(): any {\n    return {\n      method: this.method,\n      coordinateSystem: this.coordinateSystem,\n      xAxisIndex: this.xAxisIndex,\n      yAxisIndex: this.yAxisIndex,\n      legendHoverLink: this.legendHoverLink,\n      stack: this.stack,\n      cursor: this.cursor,\n      label: this.label,\n      itemStyle: this.itemStyle,\n      emphasis: this.emphasis,\n      barWidth: this.barWidth,\n      barMaxWidth: this.barMaxWidth,\n      barMinHeight: this.barMinHeight,\n      barGap: this.barGap,\n      barCategoryGap: this.barCategoryGap,\n      large: this.large,\n      largeThreshold: this.largeThreshold,\n      progressive: this.progressive,\n      progressiveThreshold: this.progressiveThreshold,\n      progressiveChunkMode: this.progressiveChunkMode,\n      dimensions: this.dimensions,\n      encode: this.encode,\n      seriesLayoutBy: this.seriesLayoutBy,\n      datasetIndex: this.datasetIndex,\n      markPoint: this.markPoint,\n      markLine: this.markLine,\n      markArea: this.markArea,\n      zlevel: this.zlevel,\n      z: this.z,\n    };\n  }\n\n  private setOptions(): void {\n    const config: any = assignDefined(\n      this._state,\n      {\n        id: this.id,\n        type: this.type,\n        name: this.name,\n        color: this.color,\n        data: this.data,\n        animation: this.animation,\n        animationThreshold: this.animationThreshold,\n        animationDuration: this.animationDuration,\n        animationEasing: this.animationEasing,\n        animationDelay: this.animationDelay,\n        animationDurationUpdate: this.animationDurationUpdate,\n        animationEasingUpdate: this.animationEasingUpdate,\n        animationDelayUpdate: this.animationDelayUpdate,\n        tooltip: this.tooltip,\n      },\n      this.getConfig(),\n      this._options,\n      this.config ? this.config : {}\n    );\n    this.optionsService.setArrayOption('series', config);\n  }\n}\n","import { NgModule, Type } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { TdChartSeriesHistogramComponent } from './histogram.component';\n\nexport const HISTOGRAM_MODULE_COMPONENTS: Type<any>[] = [\n  TdChartSeriesHistogramComponent,\n];\n\n@NgModule({\n  imports: [CommonModule],\n  declarations: [HISTOGRAM_MODULE_COMPONENTS],\n  exports: [HISTOGRAM_MODULE_COMPONENTS],\n})\nexport class CovalentHistogramEchartsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}