Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 36 additions & 25 deletions index.d.ts
Original file line number Diff line number Diff line change
@@ -1,37 +1,48 @@
import { ChartitGraphProps } from './index.d';
import * as React from 'react';
import * as React from 'react'

import {
IBarChartOptions,
ICandleChartOptions,
IChartOptions,
IResponsiveOptionTuple,
ILineChartOptions,
IBarChartOptions,
IPieChartOptions,
} from 'chartist';

export interface ChartitGraphProps {
type: string;
data: object;
className?: string;
options?: IChartOptions;
style?: React.CSSProperties;
IResponsiveOptionTuple,
} from 'chartist'

export type ChartistListenerOptions = {[key: string]: Function}

interface BaseChartistGraphProps {
data: Object
className?: string
options?: IChartOptions
style?: React.CSSProperties
listener?: ChartistListenerOptions
}

export interface ChartitGraphLineProps extends ChartitGraphProps {
type: 'Line';
options?: ILineChartOptions;
responseOptions?: Array<IResponsiveOptionTuple<ILineChartOptions>>;
export interface ChartistGraphBarProps extends BaseChartistGraphProps {
type: 'Bar'
options: IBarChartOptions
responsiveOptions?: Array<IResponsiveOptionTuple<IBarChartOptions>>
}

export interface ChartitGraphPieProps extends ChartitGraphProps {
type: 'Pie';
options?: IPieChartOptions;
responseOptions?: Array<IResponsiveOptionTuple<IPieChartOptions>>;
export interface ChartistGraphCandleProps extends BaseChartistGraphProps {
type: 'Candle'
options: ICandleChartOptions
responsiveOptions?: Array<IResponsiveOptionTuple<ICandleChartOptions>>
}

export interface ChartitGraphBarProps extends ChartitGraphProps {
type: 'Bar';
options: IBarChartOptions;
responseOptions?: Array<IResponsiveOptionTuple<IBarChartOptions>>;
export interface ChartistGraphLineProps extends BaseChartistGraphProps {
type: 'Line'
options?: ILineChartOptions
responsiveOptions?: Array<IResponsiveOptionTuple<ILineChartOptions>>
}

export default class ChartistGraph extends React.Component<ChartitGraphProps> {}
export interface ChartistGraphPieProps extends BaseChartistGraphProps {
type: 'Pie'
options?: IPieChartOptions
responsiveOptions?: Array<IResponsiveOptionTuple<IPieChartOptions>>
}

export type ChartistGraphProps = ChartistGraphBarProps | ChartistGraphCandleProps | ChartistGraphLineProps | ChartistGraphPieProps

export default class ChartistGraph extends React.Component<ChartistGraphProps> {}