ng-apexcharts
Version:
An angular implementation of ApexCharts
862 lines (861 loc) • 21.1 kB
TypeScript
export interface ApexOptions {
annotations?: ApexAnnotations;
chart?: ApexChart;
colors?: string[];
dataLabels?: ApexDataLabels;
series?: ApexAxisChartSeries | ApexNonAxisChartSeries;
stroke?: ApexStroke;
labels?: string[];
legend?: ApexLegend;
fill?: ApexFill;
tooltip?: ApexTooltip;
plotOptions?: ApexPlotOptions;
responsive?: ApexResponsive[];
xaxis?: ApexXAxis;
yaxis?: ApexYAxis | ApexYAxis[];
grid?: ApexGrid;
states?: ApexStates;
title?: ApexTitleSubtitle;
subtitle?: ApexTitleSubtitle;
theme?: ApexTheme;
}
/**
* Main Chart options
* See https://apexcharts.com/docs/options/chart/
*/
export interface ApexChart {
width?: string | number;
height?: string | number;
type: ChartType;
foreColor?: string;
fontFamily?: string;
background?: string;
offsetX?: number;
offsetY?: number;
dropShadow?: {
enabled?: boolean;
top?: number;
left?: number;
blur?: number;
opacity?: number;
};
events?: {
animationEnd?(chart: any, options: any): void;
beforeMount?(chart: any, options: any): void;
mounted?(chart: any, options: any): void;
updated?(chart: any, options: any): void;
click?(e: any, chart: any, options: any): void;
legendClick?(chart: any, seriesIndex: number, options: any): void;
markerClick?(e: any, chart: any, options: any): void;
selection?(chart: any, options: any): void;
dataPointSelection?(e: any, chart: any, options: any): void;
dataPointMouseEnter?(e: any, chart: any, options: any): void;
dataPointMouseLeave?(e: any, chart: any, options: any): void;
beforeZoom?(chart: any, options: any): void;
zoomed?(chart: any, options: any): void;
scrolled?(chart: any, options: any): void;
};
brush?: {
enabled?: boolean;
autoScaleYaxis?: boolean;
target?: string;
};
id?: string;
locales?: ApexLocale[];
defaultLocale?: string;
parentHeightOffset?: number;
sparkline?: {
enabled?: boolean;
};
stacked?: boolean;
stackType?: 'normal' | '100%';
toolbar?: {
show?: boolean;
tools?: {
download?: boolean;
selection?: boolean;
zoom?: boolean;
zoomin?: boolean;
zoomout?: boolean;
pan?: boolean;
reset?: boolean;
};
autoSelected?: 'zoom' | 'selection' | 'pan';
};
zoom?: {
enabled?: boolean;
type?: 'x' | 'y' | 'xy';
zoomedArea?: {
fill?: {
color?: string;
opacity?: number;
};
stroke?: {
color?: string;
opacity?: number;
width?: number;
};
};
};
selection?: {
enabled?: boolean;
type?: string;
fill?: {
color?: string;
opacity?: number;
};
stroke?: {
width?: number;
color?: string;
opacity?: number;
dashArray?: number;
};
xaxis?: {
min?: number;
max?: number;
};
yaxis?: {
min?: number;
max?: number;
};
};
animations?: {
enabled?: boolean;
easing?: 'linear' | 'easein' | 'easeout' | 'easeinout';
speed?: number;
animateGradually?: {
enabled?: boolean;
delay?: number;
};
dynamicAnimation?: {
enabled?: boolean;
speed?: number;
};
};
}
export interface ApexStates {
normal?: {
filter?: {
type?: string;
value?: number;
};
};
hover?: {
filter?: {
type?: string;
value?: number;
};
};
active?: {
allowMultipleDataPointsSelection?: boolean;
filter?: {
type?: string;
value?: number;
};
};
}
/**
* Chart Title options
* See https://apexcharts.com/docs/options/title/
*/
export interface ApexTitleSubtitle {
text?: string;
align?: 'left' | 'center' | 'right';
margin?: number;
offsetX?: number;
offsetY?: number;
floating?: number;
style?: {
fontSize?: string;
color?: string;
};
}
/**
* Chart Series options.
* Use ApexNonAxisChartSeries for Pie and Donut charts.
* See https://apexcharts.com/docs/options/series/
*/
export declare type ApexAxisChartSeries = {
name: string;
data: number[] | {
x: string;
y: number;
}[];
}[];
export declare type ApexNonAxisChartSeries = number[];
/**
* Options for the line drawn on line and area charts.
* See https://apexcharts.com/docs/options/stroke/
*/
export interface ApexStroke {
show?: boolean;
curve?: 'smooth' | 'straight' | 'stepline';
lineCap?: 'butt' | 'square' | 'round';
colors?: string;
width?: number;
dashArray?: number | number[];
}
export interface ApexAnnotations {
position?: string;
yaxis?: YAxisAnnotations[];
xaxis?: XAxisAnnotations[];
points?: PointAnnotations[];
}
export interface AnnotationLabel {
borderColor?: string;
borderWidth?: number;
text?: string;
textAnchor?: string;
offsetX?: number;
offsetY?: number;
style?: AnnotationStyle;
position?: string;
orientation?: string;
}
export interface AnnotationStyle {
background?: string;
color?: string;
fontSize?: string;
cssClass?: string;
padding?: {
left?: number;
right?: number;
top?: number;
bottom?: number;
};
}
export interface XAxisAnnotations {
x?: number;
strokeDashArray?: number;
borderColor?: string;
offsetX?: number;
offsetY?: number;
label?: {
borderColor?: string;
borderWidth?: number;
text?: string;
textAnchor?: string;
position?: string;
orientation?: string;
offsetX?: number;
offsetY?: number;
style?: AnnotationStyle;
};
}
export interface YAxisAnnotations {
y?: number;
strokeDashArray?: number;
borderColor?: string;
offsetX?: number;
offsetY?: number;
yAxisIndex?: number;
label?: AnnotationLabel;
}
export interface PointAnnotations {
x?: number;
y?: null;
yAxisIndex?: number;
seriesIndex?: number;
marker?: {
size?: number;
fillColor?: string;
strokeColor?: string;
strokeWidth?: number;
shape?: string;
radius?: number;
};
label?: AnnotationLabel;
}
/**
* Options for localization.
* See https://apexcharts.com/docs/options/chart/locales
*/
export interface ApexLocale {
name?: string;
options?: {
months?: string[];
shortMonths?: string[];
days?: string[];
shortDays?: string[];
toolbar?: {
download?: string;
selection?: string;
selectionZoom?: string;
zoomIn?: string;
zoomOut?: string;
pan?: string;
reset?: string;
};
};
}
/**
* PlotOptions for specifying chart-type-specific configuration.
* See https://apexcharts.com/docs/options/plotoptions/bar/
*/
export interface ApexPlotOptions {
bar?: {
horizontal?: boolean;
endingShape?: 'flat' | 'rounded' | 'arrow';
columnWidth?: string;
barHeight?: string;
distributed?: boolean;
colors?: {
ranges?: {
from?: number;
to?: number;
color?: string;
}[];
backgroundBarColors?: string[];
backgroundBarOpacity?: number;
};
dataLabels?: {
maxItems?: number;
position?: string;
};
};
candlestick?: {
colors?: {
upward?: string;
downward?: string;
};
wick?: {
useFillColor?: boolean;
};
};
heatmap?: {
radius?: number;
enableShades?: boolean;
shadeIntensity?: number;
distributed?: boolean;
colorScale?: {
ranges?: {
from?: number;
to?: number;
color?: string;
name?: string;
}[];
inverse?: boolean;
min?: number;
max?: number;
};
};
pie?: {
size?: number;
customScale?: number;
offsetX?: number;
offsetY?: number;
expandOnClick?: boolean;
dataLabels?: {
offset?: number;
minAngleToShowLabel?: number;
};
donut?: {
size?: string;
background?: string;
labels: {
show?: boolean;
name?: {
show?: boolean;
fontSize?: string;
fontFamily?: string;
color?: string;
offsetY?: number;
};
value?: {
show?: boolean;
fontSize?: string;
fontFamily?: string;
color?: string;
offsetY?: number;
formatter?(val: string): string;
};
total?: {
show?: boolean;
label?: string;
color?: string;
formatter?(w: any): string;
};
};
};
};
radar?: {
size?: number;
offsetX?: number;
offsetY?: number;
polygons?: {
strokeColor?: string;
connectorColors?: string | string[];
fill?: {
colors?: string[];
};
};
};
radialBar?: {
size?: number;
inverseOrder?: boolean;
startAngle?: number;
endAngle?: number;
offsetX?: number;
offsetY?: number;
hollow?: {
margin?: number;
size?: string;
background?: string;
image?: string;
width?: number;
height?: number;
offsetX?: number;
offsetY?: number;
clipped?: boolean;
position?: 'front' | 'back';
};
track?: {
show?: boolean;
startAngle?: number;
endAngle?: number;
background?: string;
strokeWidth?: string;
opacity?: number;
margin?: number;
dropShadow?: {
enabled?: boolean;
top?: number;
left?: number;
blur?: number;
opacity?: number;
};
};
dataLabels?: {
show?: boolean;
name?: {
show?: boolean;
fontSize?: string;
color?: string;
offsetY?: number;
};
value?: {
show?: boolean;
fontSize?: string;
color?: string;
offsetY?: number;
formatter?(val: number): string;
};
total?: {
show?: boolean;
label?: string;
color?: string;
formatter?(opts: any): string;
};
};
};
}
export interface ApexFill {
colors?: string[];
opacity?: number;
type?: string;
gradient?: {
shade?: string;
type?: string;
shadeIntensity?: number;
gradientToColors?: string[];
inverseColors?: boolean;
opacityFrom?: number;
opacityTo?: number;
stops?: number[];
};
image?: {
src?: string[];
width?: number;
height?: number;
};
pattern?: {
style?: string;
width?: number;
height?: number;
strokeWidth?: number;
};
}
/**
* Chart Legend configuration options.
* See https://apexcharts.com/docs/options/legend/
*/
export interface ApexLegend {
show?: boolean;
showForSingleSeries?: boolean;
showForNullSeries?: boolean;
showForZeroSeries?: boolean;
floating?: boolean;
position?: 'top' | 'right' | 'bottom' | 'left';
horizontalAlign?: 'left' | 'center' | 'right';
fontSize?: string;
fontFamily?: string;
width?: number;
height?: number;
offsetX?: number;
offsetY?: number;
textAnchor?: string;
labels?: {
color?: string;
useSeriesColors?: boolean;
};
markers?: {
width?: number;
height?: number;
strokeColor?: string;
strokeWidth?: number;
offsetX?: number;
offsetY?: number;
radius?: number;
shape?: 'circle' | 'square';
customHTML?(): string;
onClick?(): void;
};
itemMargin?: {
horizontal?: number;
vertical?: number;
};
containerMargin?: {
left?: number;
top?: number;
};
onItemClick?: {
toggleDataSeries?: boolean;
};
onItemHover?: {
highlightDataSeries?: boolean;
};
formatter?(val: string, opts: any): string;
}
/**
* Chart Datalabels options
* See https://apexcharts.com/docs/options/datalabels/
*/
export interface ApexDataLabels {
enabled?: boolean;
textAnchor?: 'start' | 'middle' | 'end';
offsetX?: number;
offsetY?: number;
style?: {
fontSize?: string;
fontFamily?: string;
colors?: string[];
};
dropShadow?: {
enabled: boolean;
top?: number;
left?: number;
blur?: number;
opacity?: number;
};
formatter?(val: number, opts: any): string;
}
export interface ApexResponsive {
breakpoint?: number;
options?: any;
}
/**
* Chart Tooltip options
* See https://apexcharts.com/docs/options/tooltip/
*/
export interface ApexTooltip {
enabled?: boolean;
shared?: boolean;
followCursor?: boolean;
intersect?: boolean;
inverseOrder?: boolean;
theme?: string;
style?: {
fontSize?: string;
fontFamily?: string;
};
fillSeriesColor?: boolean;
onDatasetHover?: {
highlightDAtaSeries?: boolean;
};
x?: {
show?: boolean;
format?: string;
formatter?(val: number): string;
};
y?: {
show?: boolean;
title?: {
formatter?(seriesName: string): string;
};
formatter?(val: number): string;
};
z?: {
title?: string;
formatter?(val: number): string;
};
marker?: {
show?: boolean;
};
items?: {
display?: string;
};
fixed?: {
enabled?: boolean;
position?: string;
offsetX?: number;
offsetY?: number;
};
custom?(options: any): void;
}
/**
* X Axis options
* See https://apexcharts.com/docs/options/xaxis/
*/
export interface ApexXAxis {
type?: 'categories' | 'datetime' | 'numeric';
categories?: string[] | number[];
labels?: {
show?: boolean;
rotate?: number;
rotateAlways?: boolean;
hideOverlappingLabels?: boolean;
showDuplicates?: boolean;
trim?: boolean;
minHeight?: number;
maxHeight?: number;
style?: {
colors?: string[];
fontSize?: string;
fontFamily?: string;
cssClass?: string;
};
offsetX?: number;
offsetY?: number;
format?: string;
datetimeFormatter?: {
year?: string;
month?: string;
day?: string;
hour?: string;
minute?: string;
};
formatter?(value: string, timestamp: number): string;
};
axisBorder?: {
show?: boolean;
color?: string;
offsetX?: number;
offsetY?: number;
strokeWidth?: number;
};
axisTicks?: {
show?: boolean;
borderType?: string;
color?: string;
height?: number;
offsetX?: number;
offsetY?: number;
};
tickAmount?: number;
min?: number;
max?: number;
range?: number;
floating?: boolean;
position?: string;
title?: {
text?: string;
offsetX?: number;
offsetY?: number;
style?: {
color?: string;
fontSize?: string;
cssClass?: string;
};
};
crosshairs?: {
show?: boolean;
width?: number | string;
position?: string;
opacity?: number;
stroke?: {
color?: string;
width?: number;
dashArray?: number;
};
fill?: {
type?: string;
color?: string;
gradient?: {
colorFrom?: string;
colorTo?: string;
stops?: number[];
opacityFrom?: number;
opacityTo?: number;
};
};
dropShadow?: {
enabled?: boolean;
top?: number;
left?: number;
blur?: number;
opacity?: number;
};
};
tooltip?: {
enabled?: boolean;
offsetY?: number;
};
}
/**
* Y Axis options
* See https://apexcharts.com/docs/options/yaxis/
*/
export interface ApexYAxis {
show?: boolean;
showAlways?: boolean;
seriesName?: string;
opposite?: boolean;
logarithmic?: boolean;
tickAmount?: number;
forceNiceScale?: boolean;
min?: number;
max?: number;
floating?: boolean;
decimalsInFloat?: number;
labels?: {
show?: boolean;
minWidth?: number;
maxWidth?: number;
offsetX?: number;
offsetY?: number;
rotate?: number;
align?: 'left' | 'center' | 'right';
padding?: number;
style?: {
color?: string;
fontSize?: string;
fontFamily?: string;
cssClass?: string;
};
formatter?(val: number): string;
};
axisBorder?: {
show?: boolean;
color?: string;
offsetX?: number;
offsetY?: number;
};
axisTicks?: {
show?: boolean;
color?: string;
width?: number;
offsetX?: number;
offsetY?: number;
};
title?: {
text?: string;
rotate?: number;
offsetX?: number;
offsetY?: number;
style?: {
color?: string;
fontSize?: string;
fontFamily?: string;
cssClass?: string;
};
};
crosshairs?: {
show?: boolean;
position?: string;
stroke?: {
color?: string;
width?: number;
dashArray?: number;
};
};
tooltip?: {
enabled?: boolean;
offsetX?: number;
};
}
/**
* Plot X and Y grid options
* See https://apexcharts.com/docs/options/grid/
*/
export interface ApexGrid {
show?: boolean;
borderColor?: string;
strokeDashArray?: number;
position?: 'front' | 'back';
xaxis?: {
lines?: {
show?: boolean;
offsetX?: number;
offsetY?: number;
};
};
yaxis?: {
lines?: {
show?: boolean;
offsetX?: number;
offsetY?: number;
};
};
row?: {
colors?: string[];
opacity?: number;
};
column?: {
colors?: string[];
opacity?: number;
};
padding?: {
top?: number;
right?: number;
bottom?: number;
left?: number;
};
}
export interface ApexTheme {
mode?: 'light' | 'dark';
palette?: string;
monochrome?: {
enabled?: boolean;
color?: string;
shadeTo?: 'light' | 'dark';
shadeIntensity?: number;
};
}
interface ApexDiscretePoint {
seriesIndex?: number;
dataPointIndex?: number;
fillColor?: string;
strokeColor?: string;
size?: number;
}
export interface ApexMarkers {
size?: number;
colors?: string[];
strokeColor?: string;
strokeWidth?: number;
strokeOpacity?: number;
fillOpacity?: number;
discrete?: ApexDiscretePoint[];
shape?: 'circle' | 'square';
radius?: number;
offsetX?: number;
offsetY?: number;
hover?: {
size?: number;
sizeOffset?: number;
};
}
export interface ApexNoData {
text?: string;
align?: 'left' | 'right' | 'center';
verticalAlign?: 'top' | 'middle' | 'bottom';
offsetX?: number;
offsetY?: number;
style?: {
color?: string;
fontSize?: string;
fontFamily?: string;
};
}
export declare type ChartType = 'line' | 'area' | 'bar' | 'histogram' | 'pie' | 'donut' | 'radialBar' | 'scatter' | 'bubble' | 'heatmap' | 'candlestick' | 'radar' | 'rangeBar';
export {};