UNPKG

react-lightweight-charts-simple

Version:

A simple react wrapper for lightweight-charts library

68 lines (67 loc) 2.87 kB
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>>;