import { ChartJsComponent } from "../components/figures/chart/chartJs/chartjs";
import { ZoomableChartJsComponent } from "../components/figures/chart/chartJs/zoomable_chart/zoomable_chartjs";
import { GaugeChartComponent } from "../components/figures/chart/gauge/gauge_chart_component";
import { ScorecardChart as ScorecardChartComponent } from "../components/figures/chart/scorecard/chart_scorecard";
import { Registry } from "./registry";

import { Component } from "../owl3_compatibility_layer";
export const chartComponentRegistry = new Registry<new (...args: any) => Component>();

chartComponentRegistry.add("line", ZoomableChartJsComponent);
chartComponentRegistry.add("bar", ZoomableChartJsComponent);
chartComponentRegistry.add("combo", ZoomableChartJsComponent);
chartComponentRegistry.add("pie", ChartJsComponent);
chartComponentRegistry.add("gauge", GaugeChartComponent);
chartComponentRegistry.add("scatter", ChartJsComponent);
chartComponentRegistry.add("bubble", ChartJsComponent);
chartComponentRegistry.add("scorecard", ScorecardChartComponent);
chartComponentRegistry.add("waterfall", ZoomableChartJsComponent);
chartComponentRegistry.add("pyramid", ChartJsComponent);
chartComponentRegistry.add("radar", ChartJsComponent);
chartComponentRegistry.add("geo", ChartJsComponent);
chartComponentRegistry.add("funnel", ChartJsComponent);
chartComponentRegistry.add("sunburst", ChartJsComponent);
chartComponentRegistry.add("treemap", ChartJsComponent);
chartComponentRegistry.add("calendar", ChartJsComponent);
