react-lightweight-charts-simple
Version:
A simple react wrapper for lightweight-charts library
68 lines (67 loc) • 2.87 kB
TypeScript
import { ChartOptions, DeepPartial, IChartApi, LogicalRangeChangeEventHandler, MouseEventHandler, SizeChangeEventHandler, TimeRangeChangeEventHandler } from 'lightweight-charts';
import * as React from 'react';
export interface ChartProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onClick'> {
/**
* The width of chart in pixel, and it is merged into `options`.
*
* If both `width` and `height` provided and > 0, will call `chart.resize(width, height)` automatically.
*/
width?: number;
/**
* The height of chart in pixel, and it is merged into `options`.
*
* If both `width` and `height` provided and > 0, will call `chart.resize(width, height)` automatically.
*/
height?: number;
/**
* The chart options, please refer to `lightweight-charts` documents.
*
* Memoization is recommended to prevent calling `chart.applyOptions()` multiple times.
*/
options?: DeepPartial<ChartOptions>;
/**
* `true` to disable nesting `<ChartAutoResizer />` automatically.
*/
disableAutoResize?: boolean;
/**
* `true` to disable nesting `<ChartFitContentTrigger />` automatically.
*/
disableAutoContentFitOnInit?: boolean;
/**
* Handler for click event (related API: `chart.subscribeClick()`).
* Or use `<ChartOnClickSubscriber />` instead.
*/
onClick?: MouseEventHandler;
/**
* Handler for crosshair move event (related API: `chart.subscribeCrosshairMove()`).
* Or use `<ChartOnCrosshairMoveSubscriber />` instead.
*/
onCrosshairMove?: MouseEventHandler;
/**
* Handler for time scale size change event (related API: `chart.timeScale().subscribeSizeChange()`).
* Or use `<TimeScaleOnSizeChangeSubscriber />` instead.
*/
onTimeScaleSizeChange?: SizeChangeEventHandler;
/**
* Handler for visible time range change event (related API: `chart.timeScale().subscribeVisibleTimeRangeChange()`).
* Or use `<TimeScaleOnVisibleTimeRangeChangeSubscriber />` instead.
*/
onVisibleTimeRangeChange?: TimeRangeChangeEventHandler;
/**
* Handler for visible logical range change event (related API: `chart.timeScale().subscribeVisibleLogicalRangeChange()`).
* Or use `<TimeScaleOnVisibleLogicalRangeChangeSubscriber />` instead.
*/
onVisibleLogicalRangeChange?: LogicalRangeChangeEventHandler;
/**
* Handler for chart initialized
*/
onInit?: (chart: IChartApi, container?: HTMLDivElement) => void;
}
export declare type ChartObject = {
chart: IChartApi | undefined;
container: HTMLDivElement | undefined;
} | undefined;
/**
* The main wrapper for the series.
*/
export declare const Chart: React.ForwardRefExoticComponent<ChartProps & React.RefAttributes<ChartObject>>;