@ebay/ebayui-core
Version:
Collection of core eBay components; considered to be the building blocks for all composite structures, pages & apps.
65 lines (64 loc) • 2.05 kB
TypeScript
import type { WithNormalizedProps } from "../../global";
import type { LegendItem } from "../ebay-chart-legend/component";
interface SeriesDonutOptions extends Omit<Highcharts.SeriesOptions, "type"> {
data: Highcharts.PointOptionsObject[];
type?: "pie" | "variablepie";
}
interface DonutChartInput extends Omit<Marko.HTML.Div, `on${string}` | "title"> {
title?: Marko.AttrTag<Marko.Renderable>;
metricValue?: Marko.AttrTag<Marko.Renderable>;
metricLabel?: Marko.AttrTag<Marko.Renderable>;
"cdn-highcharts"?: string;
"cdn-highcharts-accessibility"?: string;
"cdn-highcharts-pattern-fill"?: string;
version?: string;
series: SeriesDonutOptions[];
highchartsDescription?: string;
}
export interface Input extends WithNormalizedProps<DonutChartInput> {
}
declare class DonutChart extends Marko.Component<Input> {
chartRef: Highcharts.Chart;
handleError(err: Error): void;
handleSuccess(): void;
onMount(): void;
/**
* Generate a unique id for the container element.
*
* @returns {string} The id of the container element
*/
getContainerId(): string;
/**
* Initializes highcharts extensions
*/
_initializeHighchartsExtensions(): void;
/**
* Set up the chart with the input data and configuration options.
*/
_setupChart(): void;
/**
* Chart configuration options: configures the chart type, background color, font family, events.
*
* @returns {Highcharts.ChartOptions}
*/
getChartConfig(): Highcharts.ChartOptions;
/**
* Configures the pie plot options: thickness.
*
* @returns {Highcharts.PlotOptions}
*/
getPlotOptions(): Highcharts.PlotOptions;
/**
* Format tooltip to match design specs.
*
* @returns {Highcharts.TooltipOptions}
*/
getTooltipConfig(): Highcharts.TooltipOptions;
/**
* Returns the legend items for the chart.
*
* @returns {LegendItem[]}
*/
getLegendItems(): LegendItem[];
}
export default DonutChart;