{"version":3,"file":"highcharts-angular.mjs","sources":["../../../highcharts-angular/src/lib/highcharts-chart.token.ts","../../../highcharts-angular/src/lib/highcharts-chart.service.ts","../../../highcharts-angular/src/lib/highcharts-chart.directive.ts","../../../highcharts-angular/src/lib/highcharts-chart.component.ts","../../../highcharts-angular/src/lib/highcharts-chart.provider.ts","../../../highcharts-angular/src/public_api.ts","../../../highcharts-angular/src/highcharts-angular.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { InstanceFactoryFunction, ModuleFactoryFunction, PartialHighchartsConfig } from './types';\nimport type Highcharts from 'highcharts/esm/highcharts';\n\nexport const HIGHCHARTS_LOADER = new InjectionToken<InstanceFactoryFunction>('HIGHCHARTS_LOADER');\nexport const HIGHCHARTS_ROOT_MODULES = new InjectionToken<ModuleFactoryFunction>('HIGHCHARTS_ROOT_MODULES');\nexport const HIGHCHARTS_OPTIONS = new InjectionToken<Highcharts.Options>('HIGHCHARTS_OPTIONS');\nexport const HIGHCHARTS_CONFIG = new InjectionToken<PartialHighchartsConfig>('HIGHCHARTS_CONFIG');\nexport const HIGHCHARTS_TIMEOUT = new InjectionToken<number>('HIGHCHARTS_TIMEOUT');\n","import { inject, Injectable, signal } from '@angular/core';\nimport { HIGHCHARTS_ROOT_MODULES, HIGHCHARTS_LOADER, HIGHCHARTS_OPTIONS } from './highcharts-chart.token';\nimport { PartialHighchartsConfig } from './types';\nimport type Highcharts from 'highcharts/esm/highcharts';\n\n@Injectable({ providedIn: 'root' })\nexport class HighchartsChartService {\n  public readonly highcharts = signal<typeof Highcharts | null>(null);\n\n  private readonly loader = inject(HIGHCHARTS_LOADER);\n  private readonly globalOptions = inject(HIGHCHARTS_OPTIONS, {\n    optional: true,\n  });\n  private readonly globalModules = inject(HIGHCHARTS_ROOT_MODULES, {\n    optional: true,\n  });\n\n  private async loadHighchartsWithModules(partialConfig: PartialHighchartsConfig | null): Promise<typeof Highcharts> {\n    const highcharts = await this.loader(); // Ensure Highcharts core is loaded\n\n    await Promise.allSettled([...(this.globalModules?.() ?? []), ...(partialConfig?.modules?.() ?? [])]);\n\n    // Return the Highcharts instance\n    return highcharts;\n  }\n\n  public load(partialConfig: PartialHighchartsConfig | null): void {\n    this.loadHighchartsWithModules(partialConfig).then(highcharts => {\n      if (this.globalOptions) {\n        highcharts.setOptions(this.globalOptions);\n      }\n      this.highcharts.set(highcharts);\n    });\n  }\n}\n","import {\n  computed,\n  DestroyRef,\n  Directive,\n  effect,\n  ElementRef,\n  inject,\n  input,\n  model,\n  output,\n  untracked,\n  PLATFORM_ID,\n} from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport { HighchartsChartService } from './highcharts-chart.service';\nimport { HIGHCHARTS_CONFIG, HIGHCHARTS_TIMEOUT } from './highcharts-chart.token';\nimport { ChartConstructorType, ConstructorChart } from './types';\nimport type Highcharts from 'highcharts/esm/highcharts';\n\n@Directive({\n  selector: '[highchartsChart]',\n})\nexport class HighchartsChartDirective {\n  /**\n   * Type of the chart constructor.\n   */\n  public readonly constructorType = input<ChartConstructorType>('chart');\n\n  /**\n   * @deprecated Will be removed in a future release.\n   * When enabled, Updates `series`, `xAxis`, `yAxis`, and `annotations` to match new options.\n   * Items are added/removed as needed. Series with `id`s are matched by `id`;\n   * unmatched items are removed. Omitted `series` leaves existing ones unchanged.\n   */\n  public readonly oneToOne = input<boolean>(false);\n\n  /**\n   * Options for the Highcharts chart.\n   */\n  public readonly options = input.required<Highcharts.Options>();\n\n  /**\n   * @deprecated Will be removed in a future release.\n   * Whether to redraw the chart.\n   * Check how update works in Highcharts\n   * API doc here: https://api.highcharts.com/class-reference/Highcharts.Chart#update\n   */\n  public readonly update = model<boolean>(true);\n\n  public readonly chartInstance = output<Highcharts.Chart>(); // #26\n\n  private readonly destroyRef = inject(DestroyRef);\n\n  private readonly el = inject<ElementRef<HTMLElement>>(ElementRef);\n\n  private readonly platformId = inject(PLATFORM_ID);\n\n  private readonly relativeConfig = inject(HIGHCHARTS_CONFIG, {\n    optional: true,\n  });\n\n  private readonly timeout = inject(HIGHCHARTS_TIMEOUT, {\n    optional: true,\n  });\n\n  private readonly highchartsChartService = inject(HighchartsChartService);\n\n  private chartCreated = false;\n\n  private _chartInstance: Highcharts.Chart | undefined;\n\n  private delay(ms: number): Promise<void> {\n    return new Promise(resolve => setTimeout(resolve, ms));\n  }\n\n  // Create the chart as soon as we can\n  private readonly chart = computed(async () => {\n    const highCharts = this.highchartsChartService.highcharts();\n    const constructorType = this.constructorType();\n    await this.delay(this.relativeConfig?.timeout ?? this.timeout ?? 500);\n    if (!highCharts) return;\n    const callback: Highcharts.ChartCallbackFunction = (chart: Highcharts.Chart) => {\n      return this.chartInstance.emit(chart);\n    };\n    const chartFactories: Record<ChartConstructorType, ConstructorChart> = {\n      chart: highCharts.chart,\n      ganttChart: (highCharts as any).ganttChart,\n      mapChart: (highCharts as any).mapChart,\n      stockChart: (highCharts as any).stockChart,\n    };\n    return chartFactories[constructorType](\n      this.el.nativeElement,\n      // Use untracked, so we don't re-create new chart everytime options change\n      untracked(() => this.options()),\n      // Use Highcharts callback to emit chart instance, so it is available as early\n      // as possible. So that Angular is already aware of the instance if Highcharts raise\n      // events during the initialization that happens before coming back to Angular\n      callback,\n    );\n  });\n\n  private keepChartUpToDate(): void {\n    effect(async () => {\n      const update = this.update();\n      const oneToOne = this.oneToOne();\n      const options = this.options();\n      this._chartInstance = await this.chart();\n      if (!this.chartCreated) {\n        if (this._chartInstance) {\n          this.chartCreated = true;\n        }\n      } else {\n        if (update) {\n          this._chartInstance?.update(options, true, oneToOne);\n        }\n      }\n    });\n  }\n\n  public constructor() {\n    // should stop loading on the server side for SSR\n    if (this.platformId && isPlatformServer(this.platformId)) {\n      return;\n    }\n    // make sure to load global config + modules on demand\n    this.highchartsChartService.load(this.relativeConfig);\n    // destroy the chart when the directive is destroyed\n    this.destroyRef.onDestroy(() => {\n      this._chartInstance?.destroy();\n      this._chartInstance = undefined;\n    }); // #44\n\n    // Keep the chart up to date whenever options change or the update special input is set to true\n    this.keepChartUpToDate();\n  }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { HighchartsChartDirective } from './highcharts-chart.directive';\n\n@Component({\n  selector: 'highcharts-chart',\n  template: '',\n  hostDirectives: [\n    {\n      directive: HighchartsChartDirective,\n      inputs: ['constructorType', 'oneToOne', 'options', 'update'],\n      outputs: ['chartInstance', 'updateChange'],\n    },\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HighchartsChartComponent {}\n","import { EnvironmentProviders, makeEnvironmentProviders, Provider } from '@angular/core';\nimport {\n  HIGHCHARTS_LOADER,\n  HIGHCHARTS_CONFIG,\n  HIGHCHARTS_ROOT_MODULES,\n  HIGHCHARTS_OPTIONS,\n  HIGHCHARTS_TIMEOUT,\n} from './highcharts-chart.token';\nimport { ModuleFactoryFunction, HighchartsConfig, PartialHighchartsConfig, InstanceFactoryFunction } from './types';\nimport type Highcharts from 'highcharts/esm/highcharts';\n\nconst emptyModuleFactoryFunction: ModuleFactoryFunction = () => [];\nconst defaultInstanceFactoryFunction: InstanceFactoryFunction = () =>\n  import('highcharts/esm/highcharts').then(m => m.default);\n\nfunction provideHighchartsInstance(instance: InstanceFactoryFunction | undefined): EnvironmentProviders {\n  return makeEnvironmentProviders([\n    {\n      provide: HIGHCHARTS_LOADER,\n      useValue: instance ?? defaultInstanceFactoryFunction,\n    },\n  ]);\n}\n\nfunction provideHighchartsOptions(options: Highcharts.Options): EnvironmentProviders {\n  return makeEnvironmentProviders([{ provide: HIGHCHARTS_OPTIONS, useValue: options }]);\n}\n\nfunction provideHighchartsRootModules(modules: ModuleFactoryFunction): EnvironmentProviders {\n  return makeEnvironmentProviders([{ provide: HIGHCHARTS_ROOT_MODULES, useValue: modules }]);\n}\n\nexport function providePartialHighcharts(config: PartialHighchartsConfig): Provider {\n  return { provide: HIGHCHARTS_CONFIG, useValue: config };\n}\n\nexport function provideHighcharts(config: HighchartsConfig = {}): EnvironmentProviders {\n  const providers: (Provider | EnvironmentProviders)[] = [\n    provideHighchartsInstance(config.instance),\n    provideHighchartsRootModules(config.modules ?? emptyModuleFactoryFunction),\n    { provide: HIGHCHARTS_TIMEOUT, useValue: config.timeout },\n  ];\n  if (config.options) {\n    providers.push(provideHighchartsOptions(config.options));\n  }\n  return makeEnvironmentProviders(providers);\n}\n","/*\n * Public API Surface of highcharts-angular\n */\n\nexport { HighchartsChartComponent } from './lib/highcharts-chart.component';\nexport { HighchartsChartDirective } from './lib/highcharts-chart.directive';\nexport { provideHighcharts, providePartialHighcharts } from './lib/highcharts-chart.provider';\nexport { HighchartsConfig, PartialHighchartsConfig, ChartConstructorType } from './lib/types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}