lightweight-charts-react-components 0.0.3 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -11
- package/dist/index.d.ts +29 -8
- package/dist/lightweight-charts-react-components.cjs +2 -2
- package/dist/lightweight-charts-react-components.cjs.map +1 -1
- package/dist/lightweight-charts-react-components.js +4 -2
- package/dist/lightweight-charts-react-components.js.map +1 -1
- package/dist/lightweight-charts-react-components.standalone.js +4 -2585
- package/dist/lightweight-charts-react-components.standalone.js.LICENSE.txt +16 -0
- package/dist/lightweight-charts-react-components.standalone.js.map +1 -0
- package/package.json +4 -3
- /package/{LICENCE → LICENSE} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightweight-charts-react-components.js","sources":["webpack://lightweight-charts-react-components/./src/chart/ChartContext.ts","webpack://lightweight-charts-react-components/./src/chart/useInitChart.ts","webpack://lightweight-charts-react-components/./src/chart/ChartComponent.tsx","webpack://lightweight-charts-react-components/./src/chart/ChartWrapper.tsx","webpack://lightweight-charts-react-components/./src/shared/useSafeContext.ts","webpack://lightweight-charts-react-components/./src/scales/useInitTimeScale.ts","webpack://lightweight-charts-react-components/./src/scales/TimeScale.tsx","webpack://lightweight-charts-react-components/./src/scales/useInitPriceScale.ts","webpack://lightweight-charts-react-components/./src/scales/PriceScale.tsx","webpack://lightweight-charts-react-components/./src/series/useInitSeries.ts","webpack://lightweight-charts-react-components/./src/series/SeriesContext.ts","webpack://lightweight-charts-react-components/./src/series/SeriesTemplate.tsx","webpack://lightweight-charts-react-components/./src/series/LineSeries.tsx","webpack://lightweight-charts-react-components/./src/series/HistogramSeries.tsx","webpack://lightweight-charts-react-components/./src/series/CandlestickSeries.tsx","webpack://lightweight-charts-react-components/./src/series/AreaSeries.tsx","webpack://lightweight-charts-react-components/./src/series/BaselineSeries.tsx","webpack://lightweight-charts-react-components/./src/series/BarSeries.tsx","webpack://lightweight-charts-react-components/./src/priceLine/useInitPriceLine.ts","webpack://lightweight-charts-react-components/./src/priceLine/PriceLine.tsx"],"sourcesContent":["import { createContext } from \"react\";\nimport { ChartApiRef } from \"./types\";\n\nexport const ChartContext = createContext({} as ChartApiRef);\nChartContext.displayName = \"ChartContext\";\n","import { useLayoutEffect, useRef } from \"react\";\nimport { createChart } from \"lightweight-charts\";\nimport { ChartApiRef, ChartOptions } from \"./types\";\n\nexport const useInitChart = ({\n container,\n ...rest\n}: {\n container: HTMLElement;\n} & ChartOptions) => {\n const { onClick, onCrosshairMove, onInit, ...restOptions } = rest;\n\n const chartApiRef = useRef<ChartApiRef>({\n _chart: null,\n api() {\n if (this._chart === null && !this.destroyed) {\n this._chart = createChart(container, restOptions);\n\n if (onInit) {\n onInit(this._chart);\n }\n }\n\n return this._chart;\n },\n clear() {\n if (this._chart !== null) {\n this._chart.remove();\n this._chart = null;\n this.destroyed = true;\n }\n },\n destroyed: false,\n });\n\n useLayoutEffect(() => {\n chartApiRef.current.api();\n\n return () => {\n chartApiRef.current.clear();\n };\n }, []);\n\n useLayoutEffect(() => {\n if (!container) return;\n\n if (onClick) {\n chartApiRef.current.api()?.subscribeClick(onClick);\n }\n\n return () => {\n if (onClick) {\n chartApiRef.current.api()?.unsubscribeClick(onClick);\n }\n };\n }, [onClick]);\n\n useLayoutEffect(() => {\n if (!container) return;\n\n if (onCrosshairMove) {\n chartApiRef.current.api()?.subscribeCrosshairMove(onCrosshairMove);\n }\n\n return () => {\n if (onCrosshairMove) {\n chartApiRef.current.api()?.unsubscribeCrosshairMove(onCrosshairMove);\n }\n };\n }, [onCrosshairMove]);\n\n useLayoutEffect(() => {\n if (!container) return;\n\n chartApiRef.current.api()?.applyOptions(restOptions);\n }, [restOptions]);\n\n return chartApiRef;\n};\n","import { ChartContext } from \"./ChartContext\";\nimport { useInitChart } from \"./useInitChart\";\nimport { ChartProps } from \"./types\";\n\ntype ChartComponentProps = {\n container: HTMLElement;\n} & Omit<ChartProps, \"className\">;\n\nconst ChartComponent: React.FC<ChartComponentProps> = ({ children, container, ...rest }) => {\n const chartApiRef = useInitChart({ container, ...rest });\n\n return <ChartContext.Provider value={chartApiRef.current}>{children}</ChartContext.Provider>;\n};\n\nexport default ChartComponent;\n","import { ForwardRefRenderFunction, forwardRef, useCallback, useState } from \"react\";\nimport { ChartProps } from \"./types\";\nimport ChartComponent from \"./ChartComponent\";\n\nconst ChartRenderFunction: ForwardRefRenderFunction<HTMLDivElement, ChartProps> = (\n { children, className, ...rest },\n ref\n) => {\n const [container, setContainer] = useState<HTMLDivElement>();\n const containerRef = useCallback(\n (r: HTMLDivElement) => {\n setContainer(r);\n\n if (ref) {\n if (typeof ref === \"function\") {\n containerRef(r);\n } else {\n ref.current = r;\n }\n }\n },\n [ref]\n );\n\n return (\n <div ref={containerRef} className={className}>\n {!!container && (\n <ChartComponent container={container} {...rest}>\n {children}\n </ChartComponent>\n )}\n </div>\n );\n};\n\nconst ChartWrapper = forwardRef(ChartRenderFunction);\nChartWrapper.displayName = \"ChartWrapper\";\nexport default ChartWrapper;\n","import { Context, useContext } from \"react\";\n\nexport const useSafeContext = <T>(context: Context<T>) => {\n const currentContextValue = useContext(context);\n\n if (!currentContextValue) {\n const ctxName = context.name;\n throw new Error(`${ctxName} not found. You can access context value only inside its Provider.`);\n }\n\n return currentContextValue;\n};\n","import { useLayoutEffect, useRef } from \"react\";\nimport { TimeScaleApiRef, TimeScaleProps } from \"./types\";\nimport { useSafeContext } from \"@/shared/useSafeContext\";\nimport { ChartContext } from \"@/chart/ChartContext\";\n\nexport const useInitTimeScale = ({\n onVisibleTimeRangeChange,\n onVisibleLogicalRangeChange,\n onSizeChange,\n visibleRange,\n visibleLogicalRange,\n options = {},\n}: TimeScaleProps) => {\n const chart = useSafeContext(ChartContext);\n\n if (!chart) {\n throw new Error(\"Chart context not found\");\n }\n\n const timeScaleApiRef = useRef<TimeScaleApiRef>({\n _timeScale: null,\n api() {\n if (!this._timeScale) {\n const chartApi = chart.api();\n\n if (!chartApi) {\n return null;\n }\n\n this._timeScale = chartApi.timeScale();\n\n this._timeScale.applyOptions(options);\n\n if (visibleRange) {\n this._timeScale.setVisibleRange(visibleRange);\n }\n\n if (visibleLogicalRange) {\n this._timeScale.setVisibleLogicalRange(visibleLogicalRange);\n }\n }\n\n return this._timeScale;\n },\n clear() {\n if (this._timeScale !== null) {\n this._timeScale = null;\n }\n },\n });\n\n useLayoutEffect(() => {\n timeScaleApiRef.current.api();\n\n return () => {\n timeScaleApiRef.current.clear();\n };\n }, []);\n\n useLayoutEffect(() => {\n if (!chart) return;\n\n if (options) {\n timeScaleApiRef.current?.api()?.applyOptions(options);\n }\n }, [options]);\n\n useLayoutEffect(() => {\n if (!chart) return;\n\n if (onSizeChange) {\n timeScaleApiRef.current?.api()?.subscribeSizeChange(onSizeChange);\n }\n\n return () => {\n if (onSizeChange) {\n timeScaleApiRef.current?.api()?.unsubscribeSizeChange(onSizeChange);\n }\n };\n }, [onSizeChange]);\n\n useLayoutEffect(() => {\n if (!chart) return;\n\n if (onVisibleLogicalRangeChange) {\n timeScaleApiRef.current\n ?.api()\n ?.subscribeVisibleLogicalRangeChange(onVisibleLogicalRangeChange);\n }\n\n return () => {\n if (onVisibleLogicalRangeChange) {\n timeScaleApiRef.current\n ?.api()\n ?.unsubscribeVisibleLogicalRangeChange(onVisibleLogicalRangeChange);\n }\n };\n }, [onVisibleLogicalRangeChange]);\n\n useLayoutEffect(() => {\n if (!chart) return;\n\n if (onVisibleTimeRangeChange) {\n timeScaleApiRef.current\n ?.api()\n ?.subscribeVisibleTimeRangeChange(onVisibleTimeRangeChange);\n }\n\n return () => {\n if (onVisibleTimeRangeChange) {\n timeScaleApiRef.current\n ?.api()\n ?.unsubscribeVisibleTimeRangeChange(onVisibleTimeRangeChange);\n }\n };\n }, [onVisibleTimeRangeChange]);\n\n useLayoutEffect(() => {\n if (!chart) return;\n\n if (visibleRange) {\n timeScaleApiRef.current?.api()?.setVisibleRange(visibleRange);\n }\n }, [visibleRange]);\n\n useLayoutEffect(() => {\n if (!chart) return;\n\n if (visibleLogicalRange) {\n timeScaleApiRef.current\n ?.api()\n ?.setVisibleLogicalRange(visibleLogicalRange);\n }\n }, [visibleLogicalRange]);\n\n return timeScaleApiRef;\n};\n","import { ForwardedRef, forwardRef, useImperativeHandle } from \"react\";\nimport { TimeScaleApiRef, TimeScaleProps } from \"./types\";\nimport { useInitTimeScale } from \"./useInitTimeScale\";\n\nconst TimeScaleRenderFunction = (props: TimeScaleProps, ref: ForwardedRef<TimeScaleApiRef>) => {\n const timeScaleApiRef = useInitTimeScale(props);\n useImperativeHandle(ref, () => timeScaleApiRef.current, [timeScaleApiRef]);\n\n return null;\n};\n\nconst TimeScale = forwardRef(TimeScaleRenderFunction);\nTimeScale.displayName = \"TimeScale\";\nexport default TimeScale;\n","import { useLayoutEffect, useRef } from \"react\";\nimport { PriceScaleProps, PriceScaleApiRef } from \"./types\";\nimport { useSafeContext } from \"@/shared/useSafeContext\";\nimport { ChartContext } from \"@/chart/ChartContext\";\n\nexport const useInitPriceScale = ({ options = {}, id }: PriceScaleProps) => {\n const chart = useSafeContext(ChartContext);\n\n const priceScaleApiRef = useRef<PriceScaleApiRef>({\n _priceScale: null,\n api() {\n if (!this._priceScale) {\n const chartApi = chart.api();\n\n if (!chartApi) {\n return null;\n }\n\n this._priceScale = chartApi.priceScale(id);\n\n this._priceScale.applyOptions({\n ...options,\n });\n }\n\n return this._priceScale;\n },\n setId(id) {\n if (this._priceScale === null) {\n return;\n }\n\n this._priceScale = chart.api()!.priceScale(id);\n },\n clear() {\n if (this._priceScale !== null) {\n this._priceScale = null;\n }\n },\n });\n\n useLayoutEffect(() => {\n priceScaleApiRef.current.api();\n\n return () => {\n priceScaleApiRef.current.clear();\n };\n }, []);\n\n useLayoutEffect(() => {\n if (!chart) return;\n\n priceScaleApiRef.current?.setId(id);\n }, [id]);\n\n useLayoutEffect(() => {\n if (!chart) return;\n\n if (options) {\n priceScaleApiRef.current?.api()?.applyOptions(options);\n }\n }, [options]);\n\n return priceScaleApiRef;\n};\n","import { ForwardedRef, forwardRef, useImperativeHandle } from \"react\";\nimport { PriceScaleApiRef, PriceScaleProps } from \"./types\";\nimport { useInitPriceScale } from \"./useInitPriceScale\";\n\nconst PriceScaleRenderFunction = (props: PriceScaleProps, ref: ForwardedRef<PriceScaleApiRef>) => {\n const priceScaleApiRef = useInitPriceScale(props);\n useImperativeHandle(ref, () => priceScaleApiRef.current, [priceScaleApiRef]);\n\n return null;\n};\n\nconst PriceScale = forwardRef(PriceScaleRenderFunction);\nPriceScale.displayName = \"PriceScale\";\nexport default PriceScale;\n","import { useLayoutEffect, useRef } from \"react\";\nimport { SeriesApiRef, SeriesTemplateProps, SeriesType } from \"./types\";\nimport { IChartApi, ISeriesApi } from \"lightweight-charts\";\nimport { useSafeContext } from \"@/shared/useSafeContext\";\nimport { ChartContext } from \"@/chart/ChartContext\";\n\nexport const useInitSeries = <T extends SeriesType>({\n type,\n data,\n options = {},\n reactive,\n markers,\n}: Omit<SeriesTemplateProps<T>, \"children\">) => {\n const chart = useSafeContext(ChartContext);\n\n const seriesApiRef = useRef<SeriesApiRef<T>>({\n _series: null,\n api() {\n if (!this._series && !this.destroyed) {\n const chartApi = chart.api();\n\n if (!chartApi) {\n return null;\n }\n\n this._series = addSeries(chartApi, type);\n\n this._series.applyOptions(options);\n\n this._series.setData(data);\n\n if (markers) {\n this._series.setMarkers(markers);\n }\n }\n\n return this._series;\n },\n clear() {\n if (this._series !== null) {\n chart.api()?.removeSeries(this._series);\n this._series = null;\n this.destroyed = true;\n }\n },\n destroyed: false,\n });\n\n useLayoutEffect(() => {\n seriesApiRef.current.api();\n\n return () => {\n seriesApiRef.current.clear();\n };\n }, []);\n\n useLayoutEffect(() => {\n if (!chart) return;\n\n if (markers && reactive) {\n seriesApiRef.current.api()?.setMarkers(markers);\n }\n }, [markers, reactive]);\n\n useLayoutEffect(() => {\n if (!chart) return;\n\n if (data && reactive) {\n seriesApiRef.current.api()?.setData(data);\n }\n }, [data, reactive]);\n\n useLayoutEffect(() => {\n if (!chart) return;\n\n if (options) {\n seriesApiRef.current.api()?.applyOptions(options);\n }\n }, [options]);\n\n return seriesApiRef;\n};\n\nconst addSeries = <T extends SeriesType>(chart: IChartApi, type: T) => {\n let series = null;\n\n switch (type) {\n case \"Line\":\n series = chart.addLineSeries();\n break;\n case \"Candlestick\":\n series = chart.addCandlestickSeries();\n break;\n case \"Histogram\":\n series = chart.addHistogramSeries();\n break;\n case \"Area\":\n series = chart.addAreaSeries();\n break;\n case \"Baseline\":\n series = chart.addBaselineSeries();\n break;\n case \"Bar\":\n series = chart.addBarSeries();\n break;\n default:\n throw new Error(`Unknown series type: ${type}`);\n }\n\n return series as ISeriesApi<T>;\n};\n","import { createContext } from \"react\";\nimport { SeriesApiRef, SeriesType } from \"./types\";\n\nexport const SeriesContext = createContext({} as SeriesApiRef<SeriesType>);\nSeriesContext.displayName = \"SeriesContext\";\n","import { useInitSeries } from \"./useInitSeries\";\nimport { SeriesType, SeriesTemplateProps, SeriesApiRef } from \"./types\";\nimport { SeriesContext } from \"./SeriesContext\";\nimport { ForwardedRef, forwardRef, useImperativeHandle } from \"react\";\n\nconst SeriesTemplateRenderFunction = <T extends SeriesType = \"Line\">(\n { children, ...rest }: SeriesTemplateProps<T>,\n ref: ForwardedRef<SeriesApiRef<T>>\n) => {\n const seriesApi = useInitSeries(rest);\n useImperativeHandle(ref, () => seriesApi.current, [seriesApi]);\n\n return <SeriesContext.Provider value={seriesApi.current}>{children}</SeriesContext.Provider>;\n};\n\nconst SeriesTemplate = forwardRef(SeriesTemplateRenderFunction);\nSeriesTemplate.displayName = \"SeriesTemplate\";\nexport default SeriesTemplate;\n","import { ForwardedRef, forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport { SeriesApiRef, SeriesProps } from \"./types\";\n\nconst LineSeriesRenderFunction = (\n { children, ...rest }: SeriesProps<\"Line\">,\n ref: ForwardedRef<SeriesApiRef<\"Line\">>\n) => {\n return (\n <SeriesTemplate type=\"Line\" ref={ref} {...rest}>\n {children}\n </SeriesTemplate>\n );\n};\n\nconst LineSeries = forwardRef(LineSeriesRenderFunction);\nLineSeries.displayName = \"LineSeries\";\nexport default LineSeries;\n","import { ForwardedRef, forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport { SeriesApiRef, SeriesProps } from \"./types\";\n\nconst HistogramSeriesRenderFunction = (\n { children, ...rest }: SeriesProps<\"Histogram\">,\n ref: ForwardedRef<SeriesApiRef<\"Histogram\">>\n) => {\n return (\n <SeriesTemplate type=\"Histogram\" ref={ref} {...rest}>\n {children}\n </SeriesTemplate>\n );\n};\n\nconst HistogramSeries = forwardRef(HistogramSeriesRenderFunction);\nHistogramSeries.displayName = \"HistogramSeries\";\nexport default HistogramSeries;\n","import { ForwardedRef, forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport { SeriesApiRef, SeriesProps } from \"./types\";\n\nconst CandlestickSeriesRenderFunction = (\n { children, ...rest }: SeriesProps<\"Candlestick\">,\n ref: ForwardedRef<SeriesApiRef<\"Candlestick\">>\n) => {\n return (\n <SeriesTemplate type=\"Candlestick\" ref={ref} {...rest}>\n {children}\n </SeriesTemplate>\n );\n};\n\nconst CandlestickSeries = forwardRef(CandlestickSeriesRenderFunction);\nCandlestickSeries.displayName = \"CandlestickSeries\";\nexport default CandlestickSeries;\n","import { ForwardedRef, forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport { SeriesApiRef, SeriesProps } from \"./types\";\n\nconst AreaSeriesRenderFunction = (\n { children, ...rest }: SeriesProps<\"Area\">,\n ref: ForwardedRef<SeriesApiRef<\"Area\">>\n) => {\n return (\n <SeriesTemplate type=\"Area\" ref={ref} {...rest}>\n {children}\n </SeriesTemplate>\n );\n};\n\nconst AreaSeries = forwardRef(AreaSeriesRenderFunction);\nAreaSeries.displayName = \"AreaSeries\";\nexport default AreaSeries;\n","import { ForwardedRef, forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport { SeriesApiRef, SeriesProps } from \"./types\";\n\nconst BaselineSeriesRenderFunction = (\n { children, ...rest }: SeriesProps<\"Baseline\">,\n ref: ForwardedRef<SeriesApiRef<\"Baseline\">>,\n) => {\n return (\n <SeriesTemplate type=\"Baseline\" ref={ref} {...rest}>\n {children}\n </SeriesTemplate>\n );\n};\n\nconst BaselineSeries = forwardRef(BaselineSeriesRenderFunction);\nBaselineSeries.displayName = \"BaselineSeries\";\nexport default BaselineSeries;\n","import { ForwardedRef, forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport { SeriesApiRef, SeriesProps } from \"./types\";\n\nconst BarSeriesRenderFunction = (\n { children, ...rest }: SeriesProps<\"Bar\">,\n ref: ForwardedRef<SeriesApiRef<\"Bar\">>,\n) => {\n return (\n <SeriesTemplate type=\"Bar\" ref={ref} {...rest}>\n {children}\n </SeriesTemplate>\n );\n};\n\nconst BarSeries = forwardRef(BarSeriesRenderFunction);\nBarSeries.displayName = \"BarSeries\";\nexport default BarSeries;\n","import { useLayoutEffect, useRef } from \"react\";\nimport { PriceLineApiRef, PriceLineProps } from \"./types\";\nimport { useSafeContext } from \"@/shared/useSafeContext\";\nimport { SeriesContext } from \"@/series/SeriesContext\";\n\nexport const useInitPriceLine = ({ options, price }: PriceLineProps) => {\n const series = useSafeContext(SeriesContext);\n\n const priceLineApiRef = useRef<PriceLineApiRef>({\n _priceLine: null,\n api() {\n if (!this._priceLine) {\n const seriesApi = series.api();\n\n if (!seriesApi) {\n return null;\n }\n\n this._priceLine = seriesApi.createPriceLine({\n price,\n ...options,\n });\n }\n\n return this._priceLine;\n },\n clear() {\n if (this._priceLine !== null) {\n series.api()?.removePriceLine(this._priceLine);\n this._priceLine = null;\n }\n },\n });\n\n useLayoutEffect(() => {\n priceLineApiRef.current.api();\n\n return () => {\n priceLineApiRef.current.clear();\n };\n }, []);\n\n useLayoutEffect(() => {\n if (!series) return;\n\n if (options) {\n priceLineApiRef.current.api()?.applyOptions(options);\n }\n }, [options]);\n\n return priceLineApiRef;\n};\n","import { ForwardedRef, forwardRef, useImperativeHandle } from \"react\";\nimport { PriceLineApiRef, PriceLineProps } from \"./types\";\nimport { useInitPriceLine } from \"./useInitPriceLine\";\n\nconst PriceLineRenderFunction = (props: PriceLineProps, ref: ForwardedRef<PriceLineApiRef>) => {\n const priceLineApiRef = useInitPriceLine(props);\n useImperativeHandle(ref, () => priceLineApiRef.current, [priceLineApiRef]);\n\n return null;\n};\n\nconst PriceLine = forwardRef(PriceLineRenderFunction);\nPriceLine.displayName = \"PriceLine\";\nexport default PriceLine;\n"],"names":["ChartContext","createContext","useInitChart","container","rest","onClick","onCrosshairMove","onInit","restOptions","chartApiRef","useRef","createChart","useLayoutEffect","_chartApiRef_current_api","children","ChartWrapper","forwardRef","className","ref","setContainer","useState","containerRef","useCallback","r","ChartComponent","useSafeContext","context","currentContextValue","useContext","ctxName","Error","useInitTimeScale","onVisibleTimeRangeChange","onVisibleLogicalRangeChange","onSizeChange","visibleRange","visibleLogicalRange","options","chart","timeScaleApiRef","chartApi","_timeScaleApiRef_current_api","TimeScale","props","useImperativeHandle","useInitPriceScale","id","priceScaleApiRef","_priceScaleApiRef_current","_priceScaleApiRef_current_api","PriceScale","useInitSeries","type","data","reactive","markers","seriesApiRef","addSeries","_chart_api","_seriesApiRef_current_api","series","SeriesContext","SeriesTemplate","seriesApi","LineSeries","HistogramSeries","CandlestickSeries","AreaSeries","BaselineSeries","BarSeries","useInitPriceLine","price","priceLineApiRef","_series_api","_priceLineApiRef_current_api","PriceLine"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lightweight-charts-react-components.js","sources":["webpack://lightweight-charts-react-components/./src/chart/ChartContext.ts","webpack://lightweight-charts-react-components/./src/chart/useInitChart.ts","webpack://lightweight-charts-react-components/./src/chart/ChartComponent.tsx","webpack://lightweight-charts-react-components/./src/chart/ChartWrapper.tsx","webpack://lightweight-charts-react-components/./src/shared/useSafeContext.ts","webpack://lightweight-charts-react-components/./src/scales/useInitTimeScale.ts","webpack://lightweight-charts-react-components/./src/scales/TimeScale.tsx","webpack://lightweight-charts-react-components/./src/scales/useInitPriceScale.ts","webpack://lightweight-charts-react-components/./src/scales/PriceScale.tsx","webpack://lightweight-charts-react-components/./src/shared/InternalError.ts","webpack://lightweight-charts-react-components/./src/series/useInitSeries.ts","webpack://lightweight-charts-react-components/./src/series/SeriesContext.ts","webpack://lightweight-charts-react-components/./src/series/SeriesTemplate.tsx","webpack://lightweight-charts-react-components/./src/series/LineSeries.tsx","webpack://lightweight-charts-react-components/./src/series/HistogramSeries.tsx","webpack://lightweight-charts-react-components/./src/series/CandlestickSeries.tsx","webpack://lightweight-charts-react-components/./src/series/AreaSeries.tsx","webpack://lightweight-charts-react-components/./src/series/BaselineSeries.tsx","webpack://lightweight-charts-react-components/./src/series/BarSeries.tsx","webpack://lightweight-charts-react-components/./src/series/CustomSeries.tsx","webpack://lightweight-charts-react-components/./src/priceLine/useInitPriceLine.ts","webpack://lightweight-charts-react-components/./src/priceLine/PriceLine.tsx","webpack://lightweight-charts-react-components/./src/markers/useInitMarkers.ts","webpack://lightweight-charts-react-components/./src/markers/Markers.tsx"],"sourcesContent":["import { createContext } from \"react\";\nimport { ChartApiRef } from \"./types\";\n\nexport const ChartContext = createContext({} as ChartApiRef);\nChartContext.displayName = \"ChartContext\";\n","import { useLayoutEffect, useRef } from \"react\";\nimport { createChart } from \"lightweight-charts\";\nimport { ChartApiRef, ChartOptions } from \"./types\";\n\nexport const useInitChart = ({\n container,\n ...rest\n}: {\n container: HTMLElement;\n} & ChartOptions) => {\n const { onClick, onCrosshairMove, onInit, ...restOptions } = rest;\n\n const chartApiRef = useRef<ChartApiRef>({\n _chart: null,\n api() {\n if (this._chart === null && !this.destroyed) {\n this._chart = createChart(container, restOptions);\n\n if (onInit) {\n onInit(this._chart);\n }\n }\n\n return this._chart;\n },\n clear() {\n if (this._chart !== null) {\n this._chart.remove();\n this._chart = null;\n this.destroyed = true;\n }\n },\n destroyed: false,\n });\n\n useLayoutEffect(() => {\n chartApiRef.current.api();\n\n return () => {\n chartApiRef.current.clear();\n };\n }, []);\n\n useLayoutEffect(() => {\n if (!container) return;\n\n if (onClick) {\n chartApiRef.current.api()?.subscribeClick(onClick);\n }\n\n return () => {\n if (onClick) {\n chartApiRef.current.api()?.unsubscribeClick(onClick);\n }\n };\n }, [onClick]);\n\n useLayoutEffect(() => {\n if (!container) return;\n\n if (onCrosshairMove) {\n chartApiRef.current.api()?.subscribeCrosshairMove(onCrosshairMove);\n }\n\n return () => {\n if (onCrosshairMove) {\n chartApiRef.current.api()?.unsubscribeCrosshairMove(onCrosshairMove);\n }\n };\n }, [onCrosshairMove]);\n\n useLayoutEffect(() => {\n if (!container) return;\n\n chartApiRef.current.api()?.applyOptions(restOptions);\n }, [restOptions]);\n\n return chartApiRef;\n};\n","import { ChartContext } from \"./ChartContext\";\nimport { useInitChart } from \"./useInitChart\";\nimport { ChartProps } from \"./types\";\n\ntype ChartComponentProps = {\n container: HTMLElement;\n} & Omit<ChartProps, \"className\">;\n\nconst ChartComponent: React.FC<ChartComponentProps> = ({ children, container, ...rest }) => {\n const chartApiRef = useInitChart({ container, ...rest });\n\n return <ChartContext.Provider value={chartApiRef.current}>{children}</ChartContext.Provider>;\n};\n\nexport default ChartComponent;\n","import { ForwardRefRenderFunction, forwardRef, useCallback, useState } from \"react\";\nimport { ChartProps } from \"./types\";\nimport ChartComponent from \"./ChartComponent\";\n\nconst ChartRenderFunction: ForwardRefRenderFunction<HTMLDivElement, ChartProps> = (\n { children, className, ...rest },\n ref\n) => {\n const [container, setContainer] = useState<HTMLDivElement>();\n const containerRef = useCallback(\n (r: HTMLDivElement) => {\n setContainer(r);\n\n if (ref) {\n if (typeof ref === \"function\") {\n containerRef(r);\n } else {\n ref.current = r;\n }\n }\n },\n [ref]\n );\n\n return (\n <div ref={containerRef} className={className}>\n {!!container && (\n <ChartComponent container={container} {...rest}>\n {children}\n </ChartComponent>\n )}\n </div>\n );\n};\n\nconst ChartWrapper = forwardRef(ChartRenderFunction);\nChartWrapper.displayName = \"ChartWrapper\";\nexport default ChartWrapper;\n","import { Context, useContext } from \"react\";\n\nexport const useSafeContext = <T>(context: Context<T>) => {\n const currentContextValue = useContext(context);\n\n if (!currentContextValue) {\n const ctxName = context.name;\n throw new Error(`${ctxName} not found. You can access context value only inside its Provider.`);\n }\n\n return currentContextValue;\n};\n","import { useLayoutEffect, useRef } from \"react\";\nimport { TimeScaleApiRef, TimeScaleProps } from \"./types\";\nimport { useSafeContext } from \"@/shared/useSafeContext\";\nimport { ChartContext } from \"@/chart/ChartContext\";\n\nexport const useInitTimeScale = ({\n onVisibleTimeRangeChange,\n onVisibleLogicalRangeChange,\n onSizeChange,\n visibleRange,\n visibleLogicalRange,\n options = {},\n}: TimeScaleProps) => {\n const chart = useSafeContext(ChartContext);\n\n if (!chart) {\n throw new Error(\"Chart context not found\");\n }\n\n const timeScaleApiRef = useRef<TimeScaleApiRef>({\n _timeScale: null,\n api() {\n if (!this._timeScale) {\n const chartApi = chart.api();\n\n if (!chartApi) {\n return null;\n }\n\n this._timeScale = chartApi.timeScale();\n\n this._timeScale.applyOptions(options);\n\n if (visibleRange) {\n this._timeScale.setVisibleRange(visibleRange);\n }\n\n if (visibleLogicalRange) {\n this._timeScale.setVisibleLogicalRange(visibleLogicalRange);\n }\n }\n\n return this._timeScale;\n },\n clear() {\n if (this._timeScale !== null) {\n this._timeScale = null;\n }\n },\n });\n\n useLayoutEffect(() => {\n timeScaleApiRef.current.api();\n\n return () => {\n timeScaleApiRef.current.clear();\n };\n }, []);\n\n useLayoutEffect(() => {\n if (!chart) return;\n\n if (options) {\n timeScaleApiRef.current?.api()?.applyOptions(options);\n }\n }, [options]);\n\n useLayoutEffect(() => {\n if (!chart) return;\n\n if (onSizeChange) {\n timeScaleApiRef.current?.api()?.subscribeSizeChange(onSizeChange);\n }\n\n return () => {\n if (onSizeChange) {\n timeScaleApiRef.current?.api()?.unsubscribeSizeChange(onSizeChange);\n }\n };\n }, [onSizeChange]);\n\n useLayoutEffect(() => {\n if (!chart) return;\n\n if (onVisibleLogicalRangeChange) {\n timeScaleApiRef.current\n ?.api()\n ?.subscribeVisibleLogicalRangeChange(onVisibleLogicalRangeChange);\n }\n\n return () => {\n if (onVisibleLogicalRangeChange) {\n timeScaleApiRef.current\n ?.api()\n ?.unsubscribeVisibleLogicalRangeChange(onVisibleLogicalRangeChange);\n }\n };\n }, [onVisibleLogicalRangeChange]);\n\n useLayoutEffect(() => {\n if (!chart) return;\n\n if (onVisibleTimeRangeChange) {\n timeScaleApiRef.current\n ?.api()\n ?.subscribeVisibleTimeRangeChange(onVisibleTimeRangeChange);\n }\n\n return () => {\n if (onVisibleTimeRangeChange) {\n timeScaleApiRef.current\n ?.api()\n ?.unsubscribeVisibleTimeRangeChange(onVisibleTimeRangeChange);\n }\n };\n }, [onVisibleTimeRangeChange]);\n\n useLayoutEffect(() => {\n if (!chart) return;\n\n if (visibleRange) {\n timeScaleApiRef.current?.api()?.setVisibleRange(visibleRange);\n }\n }, [visibleRange]);\n\n useLayoutEffect(() => {\n if (!chart) return;\n\n if (visibleLogicalRange) {\n timeScaleApiRef.current\n ?.api()\n ?.setVisibleLogicalRange(visibleLogicalRange);\n }\n }, [visibleLogicalRange]);\n\n return timeScaleApiRef;\n};\n","import { ForwardedRef, forwardRef, useImperativeHandle } from \"react\";\nimport { TimeScaleApiRef, TimeScaleProps } from \"./types\";\nimport { useInitTimeScale } from \"./useInitTimeScale\";\n\nconst TimeScaleRenderFunction = (props: TimeScaleProps, ref: ForwardedRef<TimeScaleApiRef>) => {\n const timeScaleApiRef = useInitTimeScale(props);\n useImperativeHandle(ref, () => timeScaleApiRef.current, [timeScaleApiRef]);\n\n return null;\n};\n\nconst TimeScale = forwardRef(TimeScaleRenderFunction);\nTimeScale.displayName = \"TimeScale\";\nexport default TimeScale;\n","import { useLayoutEffect, useRef } from \"react\";\nimport { PriceScaleProps, PriceScaleApiRef } from \"./types\";\nimport { useSafeContext } from \"@/shared/useSafeContext\";\nimport { ChartContext } from \"@/chart/ChartContext\";\n\nexport const useInitPriceScale = ({ options = {}, id }: PriceScaleProps) => {\n const chart = useSafeContext(ChartContext);\n\n const priceScaleApiRef = useRef<PriceScaleApiRef>({\n _priceScale: null,\n api() {\n if (!this._priceScale) {\n const chartApi = chart.api();\n\n if (!chartApi) {\n return null;\n }\n\n this._priceScale = chartApi.priceScale(id);\n\n this._priceScale.applyOptions({\n ...options,\n });\n }\n\n return this._priceScale;\n },\n setId(id) {\n if (this._priceScale === null) {\n return;\n }\n\n this._priceScale = chart.api()!.priceScale(id);\n },\n clear() {\n if (this._priceScale !== null) {\n this._priceScale = null;\n }\n },\n });\n\n useLayoutEffect(() => {\n priceScaleApiRef.current.api();\n\n return () => {\n priceScaleApiRef.current.clear();\n };\n }, []);\n\n useLayoutEffect(() => {\n if (!chart) return;\n\n priceScaleApiRef.current?.setId(id);\n }, [id]);\n\n useLayoutEffect(() => {\n if (!chart) return;\n\n if (options) {\n priceScaleApiRef.current?.api()?.applyOptions(options);\n }\n }, [options]);\n\n return priceScaleApiRef;\n};\n","import { ForwardedRef, forwardRef, useImperativeHandle } from \"react\";\nimport { PriceScaleApiRef, PriceScaleProps } from \"./types\";\nimport { useInitPriceScale } from \"./useInitPriceScale\";\n\nconst PriceScaleRenderFunction = (props: PriceScaleProps, ref: ForwardedRef<PriceScaleApiRef>) => {\n const priceScaleApiRef = useInitPriceScale(props);\n useImperativeHandle(ref, () => priceScaleApiRef.current, [priceScaleApiRef]);\n\n return null;\n};\n\nconst PriceScale = forwardRef(PriceScaleRenderFunction);\nPriceScale.displayName = \"PriceScale\";\nexport default PriceScale;\n","import { version } from \"../../package.json\";\n\nconst docsBaseUrl =\n \"https://tradingview.github.io/lightweight-charts/docs/4.2\";\n\ntype IBaseErrorParameters = {\n isOperational?: boolean;\n cause?: Error | BaseInternalError;\n docsPath?: string;\n};\n\nclass BaseInternalError extends Error {\n public isOperational: boolean;\n public cause?: Error | BaseInternalError;\n\n constructor(\n message?: string,\n { isOperational = true, cause, docsPath }: IBaseErrorParameters = {},\n ) {\n super(message);\n\n this.name = this.constructor.name ?? \"InternalError\";\n this.isOperational = isOperational;\n this.cause = cause;\n\n this.message = `${message ?? \"An error occurred\"}`;\n\n if (docsPath) {\n this.message = `${this.message}\n Docs: see ${docsBaseUrl + docsPath}`;\n }\n\n if (version) {\n this.message = `${this.message}\n Version: lightweight-charts-react-components/${version}`;\n }\n\n Object.setPrototypeOf(this, BaseInternalError.prototype);\n }\n}\n\nexport { BaseInternalError };\n","import { useLayoutEffect, useRef } from \"react\";\nimport {\n CustomSeriesUniqueProps,\n SeriesApiRef,\n SeriesTemplateProps,\n SeriesType,\n} from \"./types\";\nimport {\n LineSeries,\n CandlestickSeries,\n HistogramSeries,\n AreaSeries,\n BaselineSeries,\n BarSeries,\n SeriesDefinition,\n ISeriesApi,\n} from \"lightweight-charts\";\nimport { useSafeContext } from \"@/shared/useSafeContext\";\nimport { ChartContext } from \"@/chart/ChartContext\";\nimport { BaseInternalError } from \"@/shared/InternalError\";\n\ntype SeriesTypeWithoutCustom = Exclude<SeriesType, \"Custom\">;\n\nexport const useInitSeries = <T extends SeriesType>({\n type,\n data,\n options = {},\n reactive,\n ...rest\n}: Omit<SeriesTemplateProps<T>, \"children\">) => {\n const chart = useSafeContext(ChartContext);\n\n const seriesApiRef = useRef<SeriesApiRef<T>>({\n _series: null,\n api() {\n if (!this._series && !this.destroyed) {\n const chartApi = chart.api();\n\n if (!chartApi) {\n return null;\n }\n\n if (type === \"Custom\") {\n const plugin = (rest as CustomSeriesUniqueProps).plugin;\n if (!plugin) {\n throw new BaseInternalError(\"Custom series requires a plugin to be defined\");\n }\n\n // TODO: Fix this type cast and infer the correct type\n (this._series as unknown as ISeriesApi<\"Custom\">) = chartApi.addCustomSeries(\n plugin,\n options,\n );\n } else {\n this._series = chartApi.addSeries(\n seriesMap[type as SeriesTypeWithoutCustom] as SeriesDefinition<T>,\n options,\n );\n }\n\n this._series?.setData(data);\n }\n\n return this._series;\n },\n clear() {\n if (this._series !== null) {\n chart.api()?.removeSeries(this._series);\n this._series = null;\n this.destroyed = true;\n }\n },\n destroyed: false,\n });\n\n useLayoutEffect(() => {\n seriesApiRef.current.api();\n\n return () => {\n seriesApiRef.current.clear();\n };\n }, []);\n\n useLayoutEffect(() => {\n if (!chart) return;\n\n if (data && reactive) {\n seriesApiRef.current.api()?.setData(data);\n }\n }, [data, reactive]);\n\n useLayoutEffect(() => {\n if (!chart) return;\n\n if (options) {\n seriesApiRef.current.api()?.applyOptions(options);\n }\n }, [options]);\n\n return seriesApiRef;\n};\n\nconst seriesMap: Record<\n SeriesTypeWithoutCustom,\n SeriesDefinition<SeriesTypeWithoutCustom>\n> = {\n Line: LineSeries,\n Candlestick: CandlestickSeries,\n Histogram: HistogramSeries,\n Area: AreaSeries,\n Baseline: BaselineSeries,\n Bar: BarSeries,\n};\n","import { createContext } from \"react\";\nimport { SeriesApiRef, SeriesType } from \"./types\";\n\nexport const SeriesContext = createContext({} as SeriesApiRef<SeriesType>);\nSeriesContext.displayName = \"SeriesContext\";\n","import { useInitSeries } from \"./useInitSeries\";\nimport { SeriesType, SeriesTemplateProps, SeriesApiRef } from \"./types\";\nimport { SeriesContext } from \"./SeriesContext\";\nimport { ForwardedRef, forwardRef, useImperativeHandle } from \"react\";\n\ntype GenericRefComponent = (<T extends SeriesType>(\n props: SeriesTemplateProps<T> & {\n ref?: ForwardedRef<SeriesApiRef<T>>;\n },\n) => ReturnType<typeof SeriesTemplateRenderFunction>) & {\n displayName: string;\n};\n\nconst SeriesTemplateRenderFunction = <T extends SeriesType>(\n { children, ...rest }: SeriesTemplateProps<T>,\n ref: ForwardedRef<SeriesApiRef<T>>,\n) => {\n const seriesApi = useInitSeries(rest);\n useImperativeHandle(ref, () => seriesApi.current, [seriesApi]);\n\n return (\n <SeriesContext.Provider value={seriesApi.current}>{children}</SeriesContext.Provider>\n );\n};\n\nconst SeriesTemplate = forwardRef(SeriesTemplateRenderFunction) as GenericRefComponent;\n\nSeriesTemplate.displayName = \"SeriesTemplate\";\nexport default SeriesTemplate;\n","import { ForwardedRef, forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport { SeriesApiRef, SeriesProps } from \"./types\";\n\nconst LineSeriesRenderFunction = (\n { children, ...rest }: SeriesProps<\"Line\">,\n ref: ForwardedRef<SeriesApiRef<\"Line\">>\n) => {\n return (\n <SeriesTemplate type=\"Line\" ref={ref} {...rest}>\n {children}\n </SeriesTemplate>\n );\n};\n\nconst LineSeries = forwardRef(LineSeriesRenderFunction);\nLineSeries.displayName = \"LineSeries\";\nexport default LineSeries;\n","import { ForwardedRef, forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport { SeriesApiRef, SeriesProps } from \"./types\";\n\nconst HistogramSeriesRenderFunction = (\n { children, ...rest }: SeriesProps<\"Histogram\">,\n ref: ForwardedRef<SeriesApiRef<\"Histogram\">>\n) => {\n return (\n <SeriesTemplate type=\"Histogram\" ref={ref} {...rest}>\n {children}\n </SeriesTemplate>\n );\n};\n\nconst HistogramSeries = forwardRef(HistogramSeriesRenderFunction);\nHistogramSeries.displayName = \"HistogramSeries\";\nexport default HistogramSeries;\n","import { ForwardedRef, forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport { SeriesApiRef, SeriesProps } from \"./types\";\n\nconst CandlestickSeriesRenderFunction = (\n { children, ...rest }: SeriesProps<\"Candlestick\">,\n ref: ForwardedRef<SeriesApiRef<\"Candlestick\">>\n) => {\n return (\n <SeriesTemplate type=\"Candlestick\" ref={ref} {...rest}>\n {children}\n </SeriesTemplate>\n );\n};\n\nconst CandlestickSeries = forwardRef(CandlestickSeriesRenderFunction);\nCandlestickSeries.displayName = \"CandlestickSeries\";\nexport default CandlestickSeries;\n","import { ForwardedRef, forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport { SeriesApiRef, SeriesProps } from \"./types\";\n\nconst AreaSeriesRenderFunction = (\n { children, ...rest }: SeriesProps<\"Area\">,\n ref: ForwardedRef<SeriesApiRef<\"Area\">>\n) => {\n return (\n <SeriesTemplate type=\"Area\" ref={ref} {...rest}>\n {children}\n </SeriesTemplate>\n );\n};\n\nconst AreaSeries = forwardRef(AreaSeriesRenderFunction);\nAreaSeries.displayName = \"AreaSeries\";\nexport default AreaSeries;\n","import { ForwardedRef, forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport { SeriesApiRef, SeriesProps } from \"./types\";\n\nconst BaselineSeriesRenderFunction = (\n { children, ...rest }: SeriesProps<\"Baseline\">,\n ref: ForwardedRef<SeriesApiRef<\"Baseline\">>,\n) => {\n return (\n <SeriesTemplate type=\"Baseline\" ref={ref} {...rest}>\n {children}\n </SeriesTemplate>\n );\n};\n\nconst BaselineSeries = forwardRef(BaselineSeriesRenderFunction);\nBaselineSeries.displayName = \"BaselineSeries\";\nexport default BaselineSeries;\n","import { ForwardedRef, forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport { SeriesApiRef, SeriesProps } from \"./types\";\n\nconst BarSeriesRenderFunction = (\n { children, ...rest }: SeriesProps<\"Bar\">,\n ref: ForwardedRef<SeriesApiRef<\"Bar\">>,\n) => {\n return (\n <SeriesTemplate type=\"Bar\" ref={ref} {...rest}>\n {children}\n </SeriesTemplate>\n );\n};\n\nconst BarSeries = forwardRef(BarSeriesRenderFunction);\nBarSeries.displayName = \"BarSeries\";\nexport default BarSeries;\n","import { ForwardedRef, forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport { SeriesApiRef, SeriesProps } from \"./types\";\n\nconst CustomSeriesRenderFunction = (\n { children, ...rest }: SeriesProps<\"Custom\">,\n ref: ForwardedRef<SeriesApiRef<\"Custom\">>,\n) => {\n return (\n <SeriesTemplate type=\"Custom\" ref={ref} {...rest}>\n {children}\n </SeriesTemplate>\n );\n};\n\nconst CustomSeries = forwardRef(CustomSeriesRenderFunction);\nCustomSeries.displayName = \"CustomSeries\";\nexport default CustomSeries;\n","import { useLayoutEffect, useRef } from \"react\";\nimport { PriceLineApiRef, PriceLineProps } from \"./types\";\nimport { useSafeContext } from \"@/shared/useSafeContext\";\nimport { SeriesContext } from \"@/series/SeriesContext\";\n\nexport const useInitPriceLine = ({ options, price }: PriceLineProps) => {\n const series = useSafeContext(SeriesContext);\n\n const priceLineApiRef = useRef<PriceLineApiRef>({\n _priceLine: null,\n api() {\n if (!this._priceLine) {\n const seriesApi = series.api();\n\n if (!seriesApi) {\n return null;\n }\n\n this._priceLine = seriesApi.createPriceLine({\n price,\n ...options,\n });\n }\n\n return this._priceLine;\n },\n clear() {\n if (this._priceLine !== null) {\n series.api()?.removePriceLine(this._priceLine);\n this._priceLine = null;\n }\n },\n });\n\n useLayoutEffect(() => {\n priceLineApiRef.current.api();\n\n return () => {\n priceLineApiRef.current.clear();\n };\n }, []);\n\n useLayoutEffect(() => {\n if (!series) return;\n\n if (options) {\n priceLineApiRef.current.api()?.applyOptions(options);\n }\n }, [options]);\n\n return priceLineApiRef;\n};\n","import { ForwardedRef, forwardRef, useImperativeHandle } from \"react\";\nimport { PriceLineApiRef, PriceLineProps } from \"./types\";\nimport { useInitPriceLine } from \"./useInitPriceLine\";\n\nconst PriceLineRenderFunction = (props: PriceLineProps, ref: ForwardedRef<PriceLineApiRef>) => {\n const priceLineApiRef = useInitPriceLine(props);\n useImperativeHandle(ref, () => priceLineApiRef.current, [priceLineApiRef]);\n\n return null;\n};\n\nconst PriceLine = forwardRef(PriceLineRenderFunction);\nPriceLine.displayName = \"PriceLine\";\nexport default PriceLine;\n","import { useLayoutEffect, useRef } from \"react\";\nimport { MarkersApiRef, MarkersProps } from \"./types\";\nimport { createSeriesMarkers } from \"lightweight-charts\";\nimport { useSafeContext } from \"@/shared/useSafeContext\";\nimport { SeriesContext } from \"@/series/SeriesContext\";\n\nexport const useInitMarkers = ({ reactive, markers }: MarkersProps) => {\n const series = useSafeContext(SeriesContext);\n\n const markersApiRef = useRef<MarkersApiRef>({\n _markers: null,\n api() {\n if (!this._markers && !this.destroyed) {\n const seriesApi = series.api();\n\n if (!seriesApi) {\n return null;\n }\n\n this._markers = createSeriesMarkers(seriesApi, []);\n }\n\n return this._markers;\n },\n clear() {\n if (this._markers !== null) {\n this._markers.detach();\n this._markers = null;\n this.destroyed = true;\n }\n },\n destroyed: false,\n });\n\n useLayoutEffect(() => {\n markersApiRef.current.api();\n\n return () => {\n markersApiRef.current.clear();\n };\n }, []);\n\n useLayoutEffect(() => {\n if (!series) return;\n\n if (markers && reactive) {\n markersApiRef.current.api()?.setMarkers(markers);\n }\n }, [markers, reactive]);\n\n return markersApiRef;\n};\n","import { ForwardedRef, forwardRef, useImperativeHandle } from \"react\";\nimport { MarkersApiRef, MarkersProps } from \"./types\";\nimport { useInitMarkers } from \"./useInitMarkers\";\n\nconst MarkersRenderFunction = (\n { ...rest }: MarkersProps,\n ref: ForwardedRef<MarkersApiRef>,\n) => {\n const markersApiRef = useInitMarkers(rest);\n useImperativeHandle(ref, () => markersApiRef.current, [markersApiRef]);\n\n return null;\n};\n\nconst Markers = forwardRef(MarkersRenderFunction);\nMarkers.displayName = \"Markers\";\nexport default Markers;\n"],"names":["ChartContext","createContext","useInitChart","container","rest","onClick","onCrosshairMove","onInit","restOptions","chartApiRef","useRef","createChart","useLayoutEffect","_chartApiRef_current_api","children","ChartWrapper","forwardRef","className","ref","setContainer","useState","containerRef","useCallback","r","ChartComponent","useSafeContext","context","currentContextValue","useContext","ctxName","Error","useInitTimeScale","onVisibleTimeRangeChange","onVisibleLogicalRangeChange","onSizeChange","visibleRange","visibleLogicalRange","options","chart","timeScaleApiRef","chartApi","_timeScaleApiRef_current_api","TimeScale","props","useImperativeHandle","useInitPriceScale","id","priceScaleApiRef","_priceScaleApiRef_current","_priceScaleApiRef_current_api","PriceScale","BaseInternalError","message","isOperational","cause","docsPath","docsBaseUrl","version","Object","useInitSeries","type","data","reactive","seriesApiRef","_this__series","plugin","seriesMap","_chart_api","_seriesApiRef_current_api","LineSeries","CandlestickSeries","HistogramSeries","AreaSeries","BaselineSeries","BarSeries","SeriesContext","SeriesTemplate","seriesApi","CustomSeries","useInitPriceLine","price","series","priceLineApiRef","_series_api","_priceLineApiRef_current_api","PriceLine","useInitMarkers","markers","markersApiRef","createSeriesMarkers","_markersApiRef_current_api","Markers"],"mappings":"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"}
|