lightweight-charts-react-components 0.2.0 → 0.2.1
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 +2 -1
- package/dist/index.d.ts +26 -32
- 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 -4
- package/dist/lightweight-charts-react-components.js.map +1 -1
- package/dist/lightweight-charts-react-components.standalone.js +2 -2
- package/dist/lightweight-charts-react-components.standalone.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightweight-charts-react-components.cjs","sources":["webpack://lightweight-charts-react-components/./src/chart/ChartContext.ts","webpack://lightweight-charts-react-components/./src/chart/useChart.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/useTimeScale.ts","webpack://lightweight-charts-react-components/./src/scales/TimeScale.tsx","webpack://lightweight-charts-react-components/./src/scales/usePriceScale.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/useSeries.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/usePriceLine.ts","webpack://lightweight-charts-react-components/./src/priceLine/PriceLine.tsx","webpack://lightweight-charts-react-components/./src/markers/useMarkers.ts","webpack://lightweight-charts-react-components/./src/markers/Markers.tsx","webpack://lightweight-charts-react-components/./src/watermark/useWatermark.ts","webpack://lightweight-charts-react-components/./src/watermark/Watermark.tsx"],"sourcesContent":["import { createContext } from \"react\";\nimport { type IChartContext } from \"./types\";\n\nconst ChartContext = createContext<IChartContext>({\n chartApiRef: null,\n initialized: false,\n});\n\nChartContext.displayName = \"ChartContext\";\nexport { ChartContext };\n","import { useLayoutEffect, useRef, useState } from \"react\";\nimport { createChart } from \"lightweight-charts\";\nimport { ChartApiRef, ChartOptions } from \"./types\";\n\nexport const useChart = ({\n container,\n ...rest\n}: {\n container: HTMLElement;\n} & ChartOptions) => {\n const { onClick, onCrosshairMove, onInit, ...restOptions } = rest;\n const [initialized, setInitialized] = useState(false);\n\n const chartApiRef = useRef<ChartApiRef>({\n _chart: null,\n api() {\n return this._chart;\n },\n init() {\n if (this._chart === null) {\n this._chart = createChart(container, restOptions);\n\n if (onInit) {\n onInit(this._chart);\n }\n }\n\n if (!initialized) {\n setInitialized(true);\n }\n\n return this._chart;\n },\n clear() {\n if (this._chart !== null) {\n setInitialized(false);\n this._chart.remove();\n this._chart = null;\n }\n },\n });\n\n useLayoutEffect(() => {\n chartApiRef.current.init();\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, initialized };\n};\n","import { ChartContext } from \"./ChartContext\";\nimport { useChart } from \"./useChart\";\nimport { ChartProps } from \"./types\";\n\ntype ChartComponentProps = {\n container: HTMLElement;\n} & Omit<ChartProps, \"className\">;\n\nconst ChartComponent: React.FC<ChartComponentProps> = ({\n children,\n container,\n ...rest\n}) => {\n const {\n chartApiRef: { current: chartApiRef },\n initialized,\n } = useChart({ container, ...rest });\n\n return (\n <ChartContext.Provider\n value={{\n chartApiRef,\n initialized,\n }}\n >\n {children}\n </ChartContext.Provider>\n );\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 useTimeScale = ({\n onVisibleTimeRangeChange,\n onVisibleLogicalRangeChange,\n onSizeChange,\n visibleRange,\n visibleLogicalRange,\n options = {},\n}: TimeScaleProps) => {\n const { initialized: chartInitialized, chartApiRef: chart } =\n 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 return this._timeScale;\n },\n init() {\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 this._timeScale = null;\n },\n });\n\n useLayoutEffect(() => {\n if (!chartInitialized) return;\n\n timeScaleApiRef.current.init();\n }, [chartInitialized]);\n\n useLayoutEffect(() => {\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?.api()?.setVisibleLogicalRange(visibleLogicalRange);\n }\n }, [visibleLogicalRange]);\n\n return timeScaleApiRef;\n};\n","import { ForwardedRef, forwardRef, useImperativeHandle } from \"react\";\nimport { TimeScaleApiRef, TimeScaleProps } from \"./types\";\nimport { useTimeScale } from \"./useTimeScale\";\n\nconst TimeScaleRenderFunction = (\n props: TimeScaleProps,\n ref: ForwardedRef<TimeScaleApiRef>\n) => {\n const timeScaleApiRef = useTimeScale(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 usePriceScale = ({ options = {}, id }: PriceScaleProps) => {\n const { initialized: chartInitialized, chartApiRef: chart } =\n useSafeContext(ChartContext);\n\n const priceScaleApiRef = useRef<PriceScaleApiRef>({\n _priceScale: null,\n api() {\n return this._priceScale;\n },\n init() {\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 || chart === null) {\n return;\n }\n\n this._priceScale = chart.api()!.priceScale(id);\n },\n clear() {\n this._priceScale = null;\n },\n });\n\n useLayoutEffect(() => {\n if (!chartInitialized) return;\n\n priceScaleApiRef.current.init();\n }, [chartInitialized]);\n\n useLayoutEffect(() => {\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 { usePriceScale } from \"./usePriceScale\";\n\nconst PriceScaleRenderFunction = (\n props: PriceScaleProps,\n ref: ForwardedRef<PriceScaleApiRef>\n) => {\n const priceScaleApiRef = usePriceScale(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, useState } 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 useSeries = <T extends SeriesType>({\n type,\n data,\n options = {},\n reactive = true,\n ...rest\n}: Omit<SeriesTemplateProps<T>, \"children\">) => {\n const { initialized: chartInitialized, chartApiRef: chart } =\n useSafeContext(ChartContext);\n const [initialized, setInitialized] = useState(false);\n\n const seriesApiRef = useRef<SeriesApiRef<T>>({\n _series: null,\n api() {\n return this._series;\n },\n init() {\n if (!this._series) {\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 setInitialized(true);\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 setInitialized(false);\n }\n },\n });\n\n useLayoutEffect(() => {\n if (!chartInitialized) return;\n\n seriesApiRef.current.init();\n }, [chartInitialized]);\n\n useLayoutEffect(() => {\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 { initialized, 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 { type ISeriesContext } from \"./types\";\n\nexport const SeriesContext = createContext<ISeriesContext>({\n seriesApiRef: null,\n initialized: false,\n});\nSeriesContext.displayName = \"SeriesContext\";\n","import { useSeries } from \"./useSeries\";\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 {\n seriesApiRef: { current: seriesApiRef },\n initialized,\n } = useSeries(rest);\n useImperativeHandle(ref, () => seriesApiRef, [seriesApiRef]);\n\n return (\n <SeriesContext.Provider\n value={{\n seriesApiRef,\n initialized,\n }}\n >\n {children}\n </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 usePriceLine = ({ options, price }: PriceLineProps) => {\n const { initialized: seriesInitialized, seriesApiRef: series } =\n useSafeContext(SeriesContext);\n\n const priceLineApiRef = useRef<PriceLineApiRef>({\n _priceLine: null,\n api() {\n return this._priceLine;\n },\n init() {\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 if (!seriesInitialized) return;\n\n priceLineApiRef.current.init();\n }, [seriesInitialized]);\n\n useLayoutEffect(() => {\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 { usePriceLine } from \"./usePriceLine\";\n\nconst PriceLineRenderFunction = (\n props: PriceLineProps,\n ref: ForwardedRef<PriceLineApiRef>\n) => {\n const priceLineApiRef = usePriceLine(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 useMarkers = ({ reactive = true, markers }: MarkersProps) => {\n const { initialized: seriesInitialized, seriesApiRef: series } =\n useSafeContext(SeriesContext);\n\n const markersApiRef = useRef<MarkersApiRef>({\n _markers: null,\n api() {\n return this._markers;\n },\n init() {\n if (this._markers === null) {\n const seriesApi = series?.api();\n\n if (!seriesApi) {\n return null;\n }\n\n this._markers = createSeriesMarkers(seriesApi, markers);\n }\n\n return this._markers;\n },\n clear() {\n if (this._markers !== null) {\n this._markers.detach();\n this._markers = null;\n }\n },\n });\n\n useLayoutEffect(() => {\n if (!seriesInitialized) return;\n\n markersApiRef.current.init();\n }, [seriesInitialized]);\n\n useLayoutEffect(() => {\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 { useMarkers } from \"./useMarkers\";\n\nconst MarkersRenderFunction = (\n { ...rest }: MarkersProps,\n ref: ForwardedRef<MarkersApiRef>\n) => {\n const markersApiRef = useMarkers(rest);\n useImperativeHandle(ref, () => markersApiRef.current, [markersApiRef]);\n\n return null;\n};\n\nconst Markers = forwardRef(MarkersRenderFunction);\nMarkers.displayName = \"Markers\";\nexport default Markers;\n","import { useLayoutEffect, useRef } from \"react\";\nimport { WatermarkApiRef, WatermarkProps, WatermarkType } from \"./types\";\nimport { createTextWatermark, createImageWatermark } from \"lightweight-charts\";\nimport { useSafeContext } from \"@/shared/useSafeContext\";\nimport { ChartContext } from \"@/chart/ChartContext\";\n\nexport function useWatermark<T extends WatermarkType>(props: WatermarkProps<T>) {\n const { initialized: chartInitialized, chartApiRef: chart } =\n useSafeContext(ChartContext);\n\n const watermarkApiRef = useRef<WatermarkApiRef<T>>({\n _watermark: null,\n api() {\n return this._watermark;\n },\n init() {\n if (this._watermark === null) {\n const chartApi = chart?.api();\n const pane = chartApi?.panes()[0];\n if (!chartApi || !pane) return null;\n\n if (isTextWatermark(props)) {\n const { type: _, ...rest } = props;\n this._watermark = createTextWatermark(pane, rest);\n } else {\n const { type: _, src, ...rest } = props as WatermarkProps<\"image\">;\n this._watermark = createImageWatermark(pane, src, rest);\n }\n }\n\n return this._watermark;\n },\n clear() {\n if (this._watermark !== null) {\n this._watermark.detach();\n this._watermark = null;\n }\n },\n } as WatermarkApiRef<T>);\n\n useLayoutEffect(() => {\n if (!chartInitialized) return;\n\n watermarkApiRef.current.init();\n }, [chartInitialized]);\n\n useLayoutEffect(() => {\n return () => {\n watermarkApiRef.current.clear();\n };\n }, []);\n\n useLayoutEffect(() => {\n if (!chart || !props) return;\n\n const { type: _, ...rest } = props;\n watermarkApiRef.current.api()?.applyOptions(rest);\n }, [props]);\n\n return watermarkApiRef;\n}\n\nconst isTextWatermark = (\n props: WatermarkProps<WatermarkType>\n): props is WatermarkProps<\"text\"> => {\n return props.type === \"text\";\n};\n","import {\n ForwardedRef,\n forwardRef,\n useImperativeHandle,\n} from \"react\";\nimport { useWatermark } from \"./useWatermark\";\nimport {\n ImageWatermarkProps,\n TextWatermarkProps,\n WatermarkApiRef,\n WatermarkProps,\n WatermarkType,\n} from \"./types\";\n\nconst WatermarkRenderFunction = <T extends WatermarkType>(\n props: WatermarkProps<T>,\n ref: ForwardedRef<WatermarkApiRef<T>>,\n) => {\n const watermarkApi = useWatermark(props);\n useImperativeHandle(ref, () => watermarkApi.current, [watermarkApi]);\n\n return null;\n};\n\nconst WatermarkText = forwardRef<WatermarkApiRef<\"text\">, TextWatermarkProps>(\n (props, ref) => {\n return WatermarkRenderFunction({ ...props, type: \"text\" }, ref);\n },\n);\nconst WatermarkImage = forwardRef<WatermarkApiRef<\"image\">, ImageWatermarkProps>(\n (props, ref) => {\n return WatermarkRenderFunction({ ...props, type: \"image\" }, ref);\n },\n);\n\nWatermarkText.displayName = \"WatermarkText\";\nWatermarkImage.displayName = \"WatermarkImage\";\n\nexport { WatermarkText, WatermarkImage };\n"],"names":["ChartContext","createContext","useChart","container","rest","onClick","onCrosshairMove","onInit","restOptions","_useState","initialized","setInitialized","chartApiRef","useRef","createChart","useLayoutEffect","_chartApiRef_current_api","ChartComponent","children","_useChart","ChartRenderFunction","ref","className","setContainer","containerRef","useCallback","r","ChartWrapper","forwardRef","useSafeContext","context","currentContextValue","useContext","ctxName","Error","useTimeScale","onVisibleTimeRangeChange","onVisibleLogicalRangeChange","onSizeChange","visibleRange","visibleLogicalRange","options","_useSafeContext","chartInitialized","chart","timeScaleApiRef","chartApi","_timeScaleApiRef_current_api","TimeScaleRenderFunction","props","useImperativeHandle","TimeScale","usePriceScale","id","priceScaleApiRef","_priceScaleApiRef_current","_priceScaleApiRef_current_api","PriceScaleRenderFunction","PriceScale","docsBaseUrl","BaseInternalError","message","_this_constructor_name","_ref","isOperational","cause","docsPath","version","Object","useSeries","type","data","reactive","seriesApiRef","_this__series","plugin","seriesMap","_chart_api","_seriesApiRef_current_api","LineSeries","CandlestickSeries","HistogramSeries","AreaSeries","BaselineSeries","BarSeries","SeriesContext","SeriesTemplateRenderFunction","_useSeries","SeriesTemplate","LineSeriesRenderFunction","HistogramSeriesRenderFunction","CandlestickSeriesRenderFunction","AreaSeriesRenderFunction","BaselineSeriesRenderFunction","BarSeriesRenderFunction","CustomSeriesRenderFunction","CustomSeries","usePriceLine","price","seriesInitialized","series","priceLineApiRef","seriesApi","_series_api","_priceLineApiRef_current_api","PriceLineRenderFunction","PriceLine","useMarkers","markers","markersApiRef","createSeriesMarkers","_markersApiRef_current_api","MarkersRenderFunction","Markers","useWatermark","watermarkApiRef","pane","isTextWatermark","createTextWatermark","src","rest1","createImageWatermark","_watermarkApiRef_current_api","WatermarkRenderFunction","watermarkApi","WatermarkText","WatermarkImage"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lightweight-charts-react-components.cjs","sources":["webpack://lightweight-charts-react-components/./src/chart/ChartContext.ts","webpack://lightweight-charts-react-components/./src/chart/useChart.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/useTimeScale.ts","webpack://lightweight-charts-react-components/./src/scales/TimeScale.tsx","webpack://lightweight-charts-react-components/./src/scales/usePriceScale.ts","webpack://lightweight-charts-react-components/./src/scales/PriceScale.tsx","webpack://lightweight-charts-react-components/./src/series/SeriesContext.ts","webpack://lightweight-charts-react-components/./src/shared/InternalError.ts","webpack://lightweight-charts-react-components/./src/series/useSeries.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/usePriceLine.ts","webpack://lightweight-charts-react-components/./src/priceLine/PriceLine.tsx","webpack://lightweight-charts-react-components/./src/markers/useMarkers.ts","webpack://lightweight-charts-react-components/./src/markers/Markers.tsx","webpack://lightweight-charts-react-components/./src/watermark/useWatermark.ts","webpack://lightweight-charts-react-components/./src/watermark/Watermark.tsx"],"sourcesContent":["import { createContext } from \"react\";\nimport { type IChartContext } from \"./types\";\n\nconst ChartContext = createContext<IChartContext>({\n chartApiRef: null,\n initialized: false,\n});\n\nChartContext.displayName = \"ChartContext\";\nexport { ChartContext };\n","import { createChart } from \"lightweight-charts\";\nimport { useLayoutEffect, useRef, useState } from \"react\";\nimport type { ChartApiRef, ChartOptions } from \"./types\";\n\nexport const useChart = ({\n container,\n ...rest\n}: {\n container: HTMLElement;\n} & ChartOptions) => {\n const { onClick, onCrosshairMove, onInit, ...restOptions } = rest;\n const [initialized, setInitialized] = useState(false);\n\n const chartApiRef = useRef<ChartApiRef>({\n _chart: null,\n api() {\n return this._chart;\n },\n init() {\n if (this._chart === null) {\n this._chart = createChart(container, restOptions);\n\n if (onInit) {\n onInit(this._chart);\n }\n }\n\n if (!initialized) {\n setInitialized(true);\n }\n\n return this._chart;\n },\n clear() {\n if (this._chart !== null) {\n setInitialized(false);\n this._chart.remove();\n this._chart = null;\n }\n },\n });\n\n useLayoutEffect(() => {\n chartApiRef.current.init();\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, initialized };\n};\n","import { ChartContext } from \"./ChartContext\";\nimport { useChart } from \"./useChart\";\nimport type { ChartProps } from \"./types\";\n\ntype ChartComponentProps = {\n container: HTMLElement;\n} & Omit<ChartProps, \"className\">;\n\nconst ChartComponent: React.FC<ChartComponentProps> = ({\n children,\n container,\n ...rest\n}) => {\n const {\n chartApiRef: { current: chartApiRef },\n initialized,\n } = useChart({ container, ...rest });\n\n return (\n <ChartContext.Provider\n value={{\n chartApiRef,\n initialized,\n }}\n >\n {children}\n </ChartContext.Provider>\n );\n};\n\nexport default ChartComponent;\n","import { forwardRef, useCallback, useState } from \"react\";\nimport ChartComponent from \"./ChartComponent\";\nimport type { ChartProps } from \"./types\";\nimport type { ForwardRefRenderFunction } from \"react\";\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 { type 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(\n `${ctxName} not found. You can access context value only inside its Provider.`\n );\n }\n\n return currentContextValue;\n};\n","import { useLayoutEffect, useRef } from \"react\";\nimport { ChartContext } from \"@/chart/ChartContext\";\nimport { useSafeContext } from \"@/shared/useSafeContext\";\nimport type { TimeScaleApiRef, TimeScaleProps } from \"./types\";\n\nexport const useTimeScale = ({\n onVisibleTimeRangeChange,\n onVisibleLogicalRangeChange,\n onSizeChange,\n visibleRange,\n visibleLogicalRange,\n options = {},\n}: TimeScaleProps) => {\n const { initialized: chartInitialized, chartApiRef: chart } =\n 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 return this._timeScale;\n },\n init() {\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 this._timeScale = null;\n },\n });\n\n useLayoutEffect(() => {\n if (!chartInitialized) return;\n\n timeScaleApiRef.current.init();\n }, [chartInitialized]);\n\n useLayoutEffect(() => {\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?.api()?.setVisibleLogicalRange(visibleLogicalRange);\n }\n }, [visibleLogicalRange]);\n\n return timeScaleApiRef;\n};\n","import { forwardRef, useImperativeHandle } from \"react\";\nimport { useTimeScale } from \"./useTimeScale\";\nimport type { TimeScaleApiRef, TimeScaleProps } from \"./types\";\nimport type { ForwardedRef } from \"react\";\n\nconst TimeScaleRenderFunction = (\n props: TimeScaleProps,\n ref: ForwardedRef<TimeScaleApiRef>\n) => {\n const timeScaleApiRef = useTimeScale(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 { ChartContext } from \"@/chart/ChartContext\";\nimport { useSafeContext } from \"@/shared/useSafeContext\";\nimport type { PriceScaleProps, PriceScaleApiRef } from \"./types\";\n\nexport const usePriceScale = ({ options = {}, id }: PriceScaleProps) => {\n const { initialized: chartInitialized, chartApiRef: chart } =\n useSafeContext(ChartContext);\n\n const priceScaleApiRef = useRef<PriceScaleApiRef>({\n _priceScale: null,\n api() {\n return this._priceScale;\n },\n init() {\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(options);\n }\n\n return this._priceScale;\n },\n setId(id) {\n if (this._priceScale === null || chart === null) {\n return;\n }\n\n this._priceScale = chart.api()!.priceScale(id);\n this._priceScale.applyOptions(options);\n },\n clear() {\n this._priceScale = null;\n },\n });\n\n useLayoutEffect(() => {\n if (!chartInitialized) return;\n\n priceScaleApiRef.current.init();\n }, [chartInitialized]);\n\n useLayoutEffect(() => {\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 { forwardRef, useImperativeHandle } from \"react\";\nimport { usePriceScale } from \"./usePriceScale\";\nimport type { PriceScaleApiRef, PriceScaleProps } from \"./types\";\nimport type { ForwardedRef } from \"react\";\n\nconst PriceScaleRenderFunction = (\n props: PriceScaleProps,\n ref: ForwardedRef<PriceScaleApiRef>\n) => {\n const priceScaleApiRef = usePriceScale(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 { createContext } from \"react\";\nimport { type ISeriesContext } from \"./types\";\n\nexport const SeriesContext = createContext<ISeriesContext>({\n seriesApiRef: null,\n initialized: false,\n});\nSeriesContext.displayName = \"SeriesContext\";\n","import { version } from \"../../package.json\";\n\nconst docsBaseUrl = \"https://tradingview.github.io/lightweight-charts/docs\";\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 {\n LineSeries,\n CandlestickSeries,\n HistogramSeries,\n AreaSeries,\n BaselineSeries,\n BarSeries,\n} from \"lightweight-charts\";\nimport { useLayoutEffect, useRef, useState } from \"react\";\nimport { ChartContext } from \"@/chart/ChartContext\";\nimport { BaseInternalError } from \"@/shared/InternalError\";\nimport { useSafeContext } from \"@/shared/useSafeContext\";\nimport type {\n CustomSeriesUniqueProps,\n SeriesApiRef,\n SeriesTemplateProps,\n SeriesType,\n} from \"./types\";\nimport type { SeriesDefinition, ISeriesApi } from \"lightweight-charts\";\n\ntype SeriesTypeWithoutCustom = Exclude<SeriesType, \"Custom\">;\n\nexport const useSeries = <T extends SeriesType>({\n type,\n data,\n options = {},\n reactive = true,\n ...rest\n}: Omit<SeriesTemplateProps<T>, \"children\">) => {\n const { initialized: chartInitialized, chartApiRef: chart } =\n useSafeContext(ChartContext);\n const [initialized, setInitialized] = useState(false);\n\n const seriesApiRef = useRef<SeriesApiRef<T>>({\n _series: null,\n api() {\n return this._series;\n },\n init() {\n if (!this._series) {\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 setInitialized(true);\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 setInitialized(false);\n }\n },\n });\n\n useLayoutEffect(() => {\n if (!chartInitialized) return;\n\n seriesApiRef.current.init();\n }, [chartInitialized]);\n\n useLayoutEffect(() => {\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 { initialized, 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 { forwardRef, useImperativeHandle } from \"react\";\nimport { SeriesContext } from \"./SeriesContext\";\nimport { useSeries } from \"./useSeries\";\nimport type { SeriesType, SeriesTemplateProps, SeriesApiRef } from \"./types\";\nimport type { ForwardedRef } 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 {\n seriesApiRef: { current: seriesApiRef },\n initialized,\n } = useSeries(rest);\n useImperativeHandle(ref, () => seriesApiRef, [seriesApiRef]);\n\n return (\n <SeriesContext.Provider\n value={{\n seriesApiRef,\n initialized,\n }}\n >\n {children}\n </SeriesContext.Provider>\n );\n};\n\nconst SeriesTemplate = forwardRef(SeriesTemplateRenderFunction) as GenericRefComponent;\n\nSeriesTemplate.displayName = \"SeriesTemplate\";\nexport default SeriesTemplate;\n","import { forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport type { SeriesApiRef, SeriesProps } from \"./types\";\nimport type { ForwardedRef } from \"react\";\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 { forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport type { SeriesApiRef, SeriesProps } from \"./types\";\nimport type { ForwardedRef } from \"react\";\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 { forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport type { SeriesApiRef, SeriesProps } from \"./types\";\nimport type { ForwardedRef } from \"react\";\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 { forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport type { SeriesApiRef, SeriesProps } from \"./types\";\nimport type { ForwardedRef } from \"react\";\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 { forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport type { SeriesApiRef, SeriesProps } from \"./types\";\nimport type { ForwardedRef } from \"react\";\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 { forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport type { SeriesApiRef, SeriesProps } from \"./types\";\nimport type { ForwardedRef } from \"react\";\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 { forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport type { SeriesApiRef, SeriesProps } from \"./types\";\nimport type { ForwardedRef } from \"react\";\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 { SeriesContext } from \"@/series/SeriesContext\";\nimport { useSafeContext } from \"@/shared/useSafeContext\";\nimport type { PriceLineApiRef, PriceLineProps } from \"./types\";\n\nexport const usePriceLine = ({ options, price }: PriceLineProps) => {\n const { initialized: seriesInitialized, seriesApiRef: series } =\n useSafeContext(SeriesContext);\n\n const priceLineApiRef = useRef<PriceLineApiRef>({\n _priceLine: null,\n api() {\n return this._priceLine;\n },\n init() {\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 if (!seriesInitialized) return;\n\n priceLineApiRef.current.init();\n }, [seriesInitialized]);\n\n useLayoutEffect(() => {\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 { forwardRef, useImperativeHandle } from \"react\";\nimport { usePriceLine } from \"./usePriceLine\";\nimport type { PriceLineApiRef, PriceLineProps } from \"./types\";\nimport type { ForwardedRef } from \"react\";\n\nconst PriceLineRenderFunction = (\n props: PriceLineProps,\n ref: ForwardedRef<PriceLineApiRef>\n) => {\n const priceLineApiRef = usePriceLine(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 { createSeriesMarkers } from \"lightweight-charts\";\nimport { useLayoutEffect, useRef } from \"react\";\nimport { SeriesContext } from \"@/series/SeriesContext\";\nimport { useSafeContext } from \"@/shared/useSafeContext\";\nimport type { MarkersApiRef, MarkersProps } from \"./types\";\n\nexport const useMarkers = ({ reactive = true, markers }: MarkersProps) => {\n const { initialized: seriesInitialized, seriesApiRef: series } =\n useSafeContext(SeriesContext);\n\n const markersApiRef = useRef<MarkersApiRef>({\n _markers: null,\n api() {\n return this._markers;\n },\n init() {\n if (this._markers === null) {\n const seriesApi = series?.api();\n\n if (!seriesApi) {\n return null;\n }\n\n this._markers = createSeriesMarkers(seriesApi, markers);\n }\n\n return this._markers;\n },\n clear() {\n if (this._markers !== null) {\n this._markers.detach();\n this._markers = null;\n }\n },\n });\n\n useLayoutEffect(() => {\n if (!seriesInitialized) return;\n\n markersApiRef.current.init();\n }, [seriesInitialized]);\n\n useLayoutEffect(() => {\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 { forwardRef, useImperativeHandle } from \"react\";\nimport { useMarkers } from \"./useMarkers\";\nimport type { MarkersApiRef, MarkersProps } from \"./types\";\nimport type { ForwardedRef } from \"react\";\n\nconst MarkersRenderFunction = (\n { ...rest }: MarkersProps,\n ref: ForwardedRef<MarkersApiRef>\n) => {\n const markersApiRef = useMarkers(rest);\n useImperativeHandle(ref, () => markersApiRef.current, [markersApiRef]);\n\n return null;\n};\n\nconst Markers = forwardRef(MarkersRenderFunction);\nMarkers.displayName = \"Markers\";\nexport default Markers;\n","import { createTextWatermark, createImageWatermark } from \"lightweight-charts\";\nimport { useLayoutEffect, useRef } from \"react\";\nimport { ChartContext } from \"@/chart/ChartContext\";\nimport { useSafeContext } from \"@/shared/useSafeContext\";\nimport type { WatermarkApiRef, WatermarkProps, WatermarkType } from \"./types\";\n\nconst useWatermark = <T extends WatermarkType>(props: WatermarkProps<T>) => {\n const { initialized: chartInitialized, chartApiRef: chart } =\n useSafeContext(ChartContext);\n\n const watermarkApiRef = useRef<WatermarkApiRef<T>>({\n _watermark: null,\n api() {\n return this._watermark;\n },\n init() {\n if (this._watermark === null) {\n const chartApi = chart?.api();\n const pane = chartApi?.panes()[0];\n if (!chartApi || !pane) return null;\n\n if (isTextWatermark(props)) {\n const { type: _, ...rest } = props;\n this._watermark = createTextWatermark(pane, rest);\n } else {\n const { type: _, src, ...rest } = props as WatermarkProps<\"image\">;\n this._watermark = createImageWatermark(pane, src, rest);\n }\n }\n\n return this._watermark;\n },\n clear() {\n if (this._watermark !== null) {\n this._watermark.detach();\n this._watermark = null;\n }\n },\n } as WatermarkApiRef<T>);\n\n useLayoutEffect(() => {\n if (!chartInitialized) return;\n\n watermarkApiRef.current.init();\n }, [chartInitialized]);\n\n useLayoutEffect(() => {\n return () => {\n watermarkApiRef.current.clear();\n };\n }, []);\n\n useLayoutEffect(() => {\n if (!chart || !props) return;\n\n const { type: _, ...rest } = props;\n watermarkApiRef.current.api()?.applyOptions(rest);\n }, [props]);\n\n return watermarkApiRef;\n};\n\nconst isTextWatermark = (\n props: WatermarkProps<WatermarkType>\n): props is WatermarkProps<\"text\"> => {\n return props.type === \"text\";\n};\n\nexport { useWatermark };\n","import { forwardRef, useImperativeHandle } from \"react\";\nimport { useWatermark } from \"./useWatermark\";\nimport type {\n ImageWatermarkProps,\n TextWatermarkProps,\n WatermarkApiRef,\n WatermarkProps,\n WatermarkType,\n} from \"./types\";\nimport type { ForwardedRef } from \"react\";\n\nconst WatermarkRenderFunction = <T extends WatermarkType>(\n props: WatermarkProps<T>,\n ref: ForwardedRef<WatermarkApiRef<T>>\n) => {\n const watermarkApi = useWatermark(props);\n useImperativeHandle(ref, () => watermarkApi.current, [watermarkApi]);\n\n return null;\n};\n\nconst WatermarkText = forwardRef<WatermarkApiRef<\"text\">, TextWatermarkProps>(\n (props, ref) => {\n return WatermarkRenderFunction({ ...props, type: \"text\" }, ref);\n }\n);\n\nconst WatermarkImage = forwardRef<WatermarkApiRef<\"image\">, ImageWatermarkProps>(\n (props, ref) => {\n return WatermarkRenderFunction({ ...props, type: \"image\" }, ref);\n }\n);\n\nWatermarkText.displayName = \"WatermarkText\";\nWatermarkImage.displayName = \"WatermarkImage\";\n\nexport { WatermarkText, WatermarkImage };\n"],"names":["ChartContext","createContext","useChart","container","rest","onClick","onCrosshairMove","onInit","restOptions","_useState","initialized","setInitialized","chartApiRef","useRef","createChart","useLayoutEffect","_chartApiRef_current_api","ChartComponent","children","_useChart","ChartRenderFunction","ref","className","setContainer","containerRef","useCallback","r","ChartWrapper","forwardRef","useSafeContext","context","currentContextValue","useContext","ctxName","Error","useTimeScale","onVisibleTimeRangeChange","onVisibleLogicalRangeChange","onSizeChange","visibleRange","visibleLogicalRange","options","_useSafeContext","chartInitialized","chart","timeScaleApiRef","chartApi","_timeScaleApiRef_current_api","TimeScaleRenderFunction","props","useImperativeHandle","TimeScale","usePriceScale","id","priceScaleApiRef","_priceScaleApiRef_current","_priceScaleApiRef_current_api","PriceScaleRenderFunction","PriceScale","SeriesContext","docsBaseUrl","BaseInternalError","message","_this_constructor_name","_ref","isOperational","cause","docsPath","version","Object","useSeries","type","data","reactive","seriesApiRef","_this__series","plugin","seriesMap","_chart_api","_seriesApiRef_current_api","LineSeries","CandlestickSeries","HistogramSeries","AreaSeries","BaselineSeries","BarSeries","SeriesTemplateRenderFunction","_useSeries","SeriesTemplate","LineSeriesRenderFunction","HistogramSeriesRenderFunction","CandlestickSeriesRenderFunction","AreaSeriesRenderFunction","BaselineSeriesRenderFunction","BarSeriesRenderFunction","CustomSeriesRenderFunction","CustomSeries","usePriceLine","price","seriesInitialized","series","priceLineApiRef","seriesApi","_series_api","_priceLineApiRef_current_api","PriceLineRenderFunction","PriceLine","useMarkers","markers","markersApiRef","createSeriesMarkers","_markersApiRef_current_api","MarkersRenderFunction","Markers","useWatermark","watermarkApiRef","pane","isTextWatermark","createTextWatermark","src","rest1","createImageWatermark","_watermarkApiRef_current_api","WatermarkRenderFunction","watermarkApi","WatermarkText","WatermarkImage"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
/**!
|
|
3
|
-
* lightweight-charts-react-components v0.2.
|
|
3
|
+
* lightweight-charts-react-components v0.2.1
|
|
4
4
|
*
|
|
5
5
|
* This source code is licensed under the MIT license found in the
|
|
6
6
|
* LICENSE.md file in the root directory of this source tree.
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @license MIT
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import*as e from"react/jsx-runtime";import*as r from"react";import*as i from"lightweight-charts";let t=(0,r.createContext)({chartApiRef:null,initialized:!1});t.displayName="ChartContext";let a=({container:e,...t})=>{let{onClick:a,onCrosshairMove:l,onInit:s,...n}=t,[u,c]=(0,r.useState)(!1),o=(0,r.useRef)({_chart:null,api(){return this._chart},init(){return null===this._chart&&(this._chart=(0,i.createChart)(e,n),s&&s(this._chart)),u||c(!0),this._chart},clear(){null!==this._chart&&(c(!1),this._chart.remove(),this._chart=null)}});return(0,r.useLayoutEffect)(()=>(o.current.init(),()=>{o.current.clear()}),[]),(0,r.useLayoutEffect)(()=>{if(e){if(a){var r;null===(r=o.current.api())||void 0===r||r.subscribeClick(a)}return()=>{if(a){var e;null===(e=o.current.api())||void 0===e||e.unsubscribeClick(a)}}}},[a]),(0,r.useLayoutEffect)(()=>{if(e){if(l){var r;null===(r=o.current.api())||void 0===r||r.subscribeCrosshairMove(l)}return()=>{if(l){var e;null===(e=o.current.api())||void 0===e||e.unsubscribeCrosshairMove(l)}}}},[l]),(0,r.useLayoutEffect)(()=>{var r;e&&(null===(r=o.current.api())||void 0===r||r.applyOptions(n))},[n]),{chartApiRef:o,initialized:u}},l=({children:r,container:i,...l})=>{let{chartApiRef:{current:s},initialized:n}=a({container:i,...l});return(0,e.jsx)(t.Provider,{value:{chartApiRef:s,initialized:n},children:r})},s=(0,r.forwardRef)(({children:i,className:t,...a},s)=>{let[n,u]=(0,r.useState)(),c=(0,r.useCallback)(e=>{u(e),s&&("function"==typeof s?c(e):s.current=e)},[s]);return(0,e.jsx)("div",{ref:c,className:t,children:!!n&&(0,e.jsx)(l,{container:n,...a,children:i})})});s.displayName="ChartWrapper";let n=s,u=e=>{let i=(0,r.useContext)(e);if(!i){let r=e.name;throw Error(`${r} not found. You can access context value only inside its Provider.`)}return i},c=({onVisibleTimeRangeChange:e,onVisibleLogicalRangeChange:i,onSizeChange:a,visibleRange:l,visibleLogicalRange:s,options:n={}})=>{let{initialized:c,chartApiRef:o}=u(t);if(!o)throw Error("Chart context not found");let f=(0,r.useRef)({_timeScale:null,api(){return this._timeScale},init(){if(!this._timeScale){let e=null==o?void 0:o.api();if(!e)return null;this._timeScale=e.timeScale(),this._timeScale.applyOptions(n),l&&this._timeScale.setVisibleRange(l),s&&this._timeScale.setVisibleLogicalRange(s)}return this._timeScale},clear(){this._timeScale=null}});return(0,r.useLayoutEffect)(()=>{c&&f.current.init()},[c]),(0,r.useLayoutEffect)(()=>()=>{f.current.clear()},[]),(0,r.useLayoutEffect)(()=>{if(o&&n){var e,r;null===(r=f.current)||void 0===r||null===(e=r.api())||void 0===e||e.applyOptions(n)}},[n]),(0,r.useLayoutEffect)(()=>{if(o){if(a){var e,r;null===(r=f.current)||void 0===r||null===(e=r.api())||void 0===e||e.subscribeSizeChange(a)}return()=>{if(a){var e,r;null===(r=f.current)||void 0===r||null===(e=r.api())||void 0===e||e.unsubscribeSizeChange(a)}}}},[a]),(0,r.useLayoutEffect)(()=>{if(o){if(i){var e,r;null===(r=f.current)||void 0===r||null===(e=r.api())||void 0===e||e.subscribeVisibleLogicalRangeChange(i)}return()=>{if(i){var e,r;null===(r=f.current)||void 0===r||null===(e=r.api())||void 0===e||e.unsubscribeVisibleLogicalRangeChange(i)}}}},[i]),(0,r.useLayoutEffect)(()=>{if(o){if(e){var r,i;null===(i=f.current)||void 0===i||null===(r=i.api())||void 0===r||r.subscribeVisibleTimeRangeChange(e)}return()=>{if(e){var r,i;null===(i=f.current)||void 0===i||null===(r=i.api())||void 0===r||r.unsubscribeVisibleTimeRangeChange(e)}}}},[e]),(0,r.useLayoutEffect)(()=>{if(o&&l){var e,r;null===(r=f.current)||void 0===r||null===(e=r.api())||void 0===e||e.setVisibleRange(l)}},[l]),(0,r.useLayoutEffect)(()=>{if(o&&s){var e,r;null===(r=f.current)||void 0===r||null===(e=r.api())||void 0===e||e.setVisibleLogicalRange(s)}},[s]),f},o=(0,r.forwardRef)((e,i)=>{let t=c(e);return(0,r.useImperativeHandle)(i,()=>t.current,[t]),null});o.displayName="TimeScale";let f=o,p=({options:e={},id:i})=>{let{initialized:a,chartApiRef:l}=u(t),s=(0,r.useRef)({_priceScale:null,api(){return this._priceScale},init(){if(!this._priceScale){let r=null==l?void 0:l.api();if(!r)return null;this._priceScale=r.priceScale(i),this._priceScale.applyOptions(
|
|
12
|
-
Docs: see ${"https://tradingview.github.io/lightweight-charts/docs
|
|
13
|
-
Version: lightweight-charts-react-components/${
|
|
11
|
+
import*as e from"react/jsx-runtime";import*as r from"react";import*as i from"lightweight-charts";let t=(0,r.createContext)({chartApiRef:null,initialized:!1});t.displayName="ChartContext";let a=({container:e,...t})=>{let{onClick:a,onCrosshairMove:l,onInit:s,...n}=t,[u,c]=(0,r.useState)(!1),o=(0,r.useRef)({_chart:null,api(){return this._chart},init(){return null===this._chart&&(this._chart=(0,i.createChart)(e,n),s&&s(this._chart)),u||c(!0),this._chart},clear(){null!==this._chart&&(c(!1),this._chart.remove(),this._chart=null)}});return(0,r.useLayoutEffect)(()=>(o.current.init(),()=>{o.current.clear()}),[]),(0,r.useLayoutEffect)(()=>{if(e){if(a){var r;null===(r=o.current.api())||void 0===r||r.subscribeClick(a)}return()=>{if(a){var e;null===(e=o.current.api())||void 0===e||e.unsubscribeClick(a)}}}},[a]),(0,r.useLayoutEffect)(()=>{if(e){if(l){var r;null===(r=o.current.api())||void 0===r||r.subscribeCrosshairMove(l)}return()=>{if(l){var e;null===(e=o.current.api())||void 0===e||e.unsubscribeCrosshairMove(l)}}}},[l]),(0,r.useLayoutEffect)(()=>{var r;e&&(null===(r=o.current.api())||void 0===r||r.applyOptions(n))},[n]),{chartApiRef:o,initialized:u}},l=({children:r,container:i,...l})=>{let{chartApiRef:{current:s},initialized:n}=a({container:i,...l});return(0,e.jsx)(t.Provider,{value:{chartApiRef:s,initialized:n},children:r})},s=(0,r.forwardRef)(({children:i,className:t,...a},s)=>{let[n,u]=(0,r.useState)(),c=(0,r.useCallback)(e=>{u(e),s&&("function"==typeof s?c(e):s.current=e)},[s]);return(0,e.jsx)("div",{ref:c,className:t,children:!!n&&(0,e.jsx)(l,{container:n,...a,children:i})})});s.displayName="ChartWrapper";let n=s,u=e=>{let i=(0,r.useContext)(e);if(!i){let r=e.name;throw Error(`${r} not found. You can access context value only inside its Provider.`)}return i},c=({onVisibleTimeRangeChange:e,onVisibleLogicalRangeChange:i,onSizeChange:a,visibleRange:l,visibleLogicalRange:s,options:n={}})=>{let{initialized:c,chartApiRef:o}=u(t);if(!o)throw Error("Chart context not found");let f=(0,r.useRef)({_timeScale:null,api(){return this._timeScale},init(){if(!this._timeScale){let e=null==o?void 0:o.api();if(!e)return null;this._timeScale=e.timeScale(),this._timeScale.applyOptions(n),l&&this._timeScale.setVisibleRange(l),s&&this._timeScale.setVisibleLogicalRange(s)}return this._timeScale},clear(){this._timeScale=null}});return(0,r.useLayoutEffect)(()=>{c&&f.current.init()},[c]),(0,r.useLayoutEffect)(()=>()=>{f.current.clear()},[]),(0,r.useLayoutEffect)(()=>{if(o&&n){var e,r;null===(r=f.current)||void 0===r||null===(e=r.api())||void 0===e||e.applyOptions(n)}},[n]),(0,r.useLayoutEffect)(()=>{if(o){if(a){var e,r;null===(r=f.current)||void 0===r||null===(e=r.api())||void 0===e||e.subscribeSizeChange(a)}return()=>{if(a){var e,r;null===(r=f.current)||void 0===r||null===(e=r.api())||void 0===e||e.unsubscribeSizeChange(a)}}}},[a]),(0,r.useLayoutEffect)(()=>{if(o){if(i){var e,r;null===(r=f.current)||void 0===r||null===(e=r.api())||void 0===e||e.subscribeVisibleLogicalRangeChange(i)}return()=>{if(i){var e,r;null===(r=f.current)||void 0===r||null===(e=r.api())||void 0===e||e.unsubscribeVisibleLogicalRangeChange(i)}}}},[i]),(0,r.useLayoutEffect)(()=>{if(o){if(e){var r,i;null===(i=f.current)||void 0===i||null===(r=i.api())||void 0===r||r.subscribeVisibleTimeRangeChange(e)}return()=>{if(e){var r,i;null===(i=f.current)||void 0===i||null===(r=i.api())||void 0===r||r.unsubscribeVisibleTimeRangeChange(e)}}}},[e]),(0,r.useLayoutEffect)(()=>{if(o&&l){var e,r;null===(r=f.current)||void 0===r||null===(e=r.api())||void 0===e||e.setVisibleRange(l)}},[l]),(0,r.useLayoutEffect)(()=>{if(o&&s){var e,r;null===(r=f.current)||void 0===r||null===(e=r.api())||void 0===e||e.setVisibleLogicalRange(s)}},[s]),f},o=(0,r.forwardRef)((e,i)=>{let t=c(e);return(0,r.useImperativeHandle)(i,()=>t.current,[t]),null});o.displayName="TimeScale";let f=o,p=({options:e={},id:i})=>{let{initialized:a,chartApiRef:l}=u(t),s=(0,r.useRef)({_priceScale:null,api(){return this._priceScale},init(){if(!this._priceScale){let r=null==l?void 0:l.api();if(!r)return null;this._priceScale=r.priceScale(i),this._priceScale.applyOptions(e)}return this._priceScale},setId(r){null!==this._priceScale&&null!==l&&(this._priceScale=l.api().priceScale(r),this._priceScale.applyOptions(e))},clear(){this._priceScale=null}});return(0,r.useLayoutEffect)(()=>{a&&s.current.init()},[a]),(0,r.useLayoutEffect)(()=>()=>{s.current.clear()},[]),(0,r.useLayoutEffect)(()=>{var e;l&&(null===(e=s.current)||void 0===e||e.setId(i))},[i]),(0,r.useLayoutEffect)(()=>{if(l&&e){var r,i;null===(i=s.current)||void 0===i||null===(r=i.api())||void 0===r||r.applyOptions(e)}},[e]),s},d=(0,r.forwardRef)((e,i)=>{let t=p(e);return(0,r.useImperativeHandle)(i,()=>t.current,[t]),null});d.displayName="PriceScale";let h=d,m=(0,r.createContext)({seriesApiRef:null,initialized:!1});m.displayName="SeriesContext";var v={i8:"0.2.1"};function y(e,r,i){return r in e?Object.defineProperty(e,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[r]=i,e}class _ extends Error{constructor(e,{isOperational:r=!0,cause:i,docsPath:t}={}){super(e),y(this,"isOperational",void 0),y(this,"cause",void 0),this.name=this.constructor.name??"InternalError",this.isOperational=r,this.cause=i,this.message=`${e??"An error occurred"}`,t&&(this.message=`${this.message}
|
|
12
|
+
Docs: see ${"https://tradingview.github.io/lightweight-charts/docs"+t}`),v.i8&&(this.message=`${this.message}
|
|
13
|
+
Version: lightweight-charts-react-components/${v.i8}`),Object.setPrototypeOf(this,_.prototype)}}let S=({type:e,data:i,options:a={},reactive:l=!0,...s})=>{let{initialized:n,chartApiRef:c}=u(t),[o,f]=(0,r.useState)(!1),p=(0,r.useRef)({_series:null,api(){return this._series},init(){if(!this._series){var r;let t=null==c?void 0:c.api();if(!t)return null;if("Custom"===e){let e=s.plugin;if(!e)throw new _("Custom series requires a plugin to be defined");this._series=t.addCustomSeries(e,a)}else this._series=t.addSeries(L[e],a);f(!0),null===(r=this._series)||void 0===r||r.setData(i)}return this._series},clear(){if(null!==this._series){var e;null==c||null===(e=c.api())||void 0===e||e.removeSeries(this._series),this._series=null,f(!1)}}});return(0,r.useLayoutEffect)(()=>{n&&p.current.init()},[n]),(0,r.useLayoutEffect)(()=>()=>{p.current.clear()},[]),(0,r.useLayoutEffect)(()=>{if(c&&i&&l){var e;null===(e=p.current.api())||void 0===e||e.setData(i)}},[i,l]),(0,r.useLayoutEffect)(()=>{if(c&&a){var e;null===(e=p.current.api())||void 0===e||e.applyOptions(a)}},[a]),{initialized:o,seriesApiRef:p}},L={Line:i.LineSeries,Candlestick:i.CandlestickSeries,Histogram:i.HistogramSeries,Area:i.AreaSeries,Baseline:i.BaselineSeries,Bar:i.BarSeries},g=(0,r.forwardRef)(({children:i,...t},a)=>{let{seriesApiRef:{current:l},initialized:s}=S(t);return(0,r.useImperativeHandle)(a,()=>l,[l]),(0,e.jsx)(m.Provider,{value:{seriesApiRef:l,initialized:s},children:i})});g.displayName="SeriesTemplate";let R=(0,r.forwardRef)(({children:r,...i},t)=>(0,e.jsx)(g,{type:"Line",ref:t,...i,children:r}));R.displayName="LineSeries";let b=R,k=(0,r.forwardRef)(({children:r,...i},t)=>(0,e.jsx)(g,{type:"Histogram",ref:t,...i,children:r}));k.displayName="HistogramSeries";let w=k,C=(0,r.forwardRef)(({children:r,...i},t)=>(0,e.jsx)(g,{type:"Candlestick",ref:t,...i,children:r}));C.displayName="CandlestickSeries";let E=C,x=(0,r.forwardRef)(({children:r,...i},t)=>(0,e.jsx)(g,{type:"Area",ref:t,...i,children:r}));x.displayName="AreaSeries";let N=x,A=(0,r.forwardRef)(({children:r,...i},t)=>(0,e.jsx)(g,{type:"Baseline",ref:t,...i,children:r}));A.displayName="BaselineSeries";let j=A,O=(0,r.forwardRef)(({children:r,...i},t)=>(0,e.jsx)(g,{type:"Bar",ref:t,...i,children:r}));O.displayName="BarSeries";let B=O,H=(0,r.forwardRef)(({children:r,...i},t)=>(0,e.jsx)(g,{type:"Custom",ref:t,...i,children:r}));H.displayName="CustomSeries";let I=H,P=({options:e,price:i})=>{let{initialized:t,seriesApiRef:a}=u(m),l=(0,r.useRef)({_priceLine:null,api(){return this._priceLine},init(){if(!this._priceLine){let r=null==a?void 0:a.api();if(!r)return null;this._priceLine=r.createPriceLine({price:i,...e})}return this._priceLine},clear(){if(null!==this._priceLine){var e;null==a||null===(e=a.api())||void 0===e||e.removePriceLine(this._priceLine),this._priceLine=null}}});return(0,r.useLayoutEffect)(()=>{t&&l.current.init()},[t]),(0,r.useLayoutEffect)(()=>()=>{l.current.clear()},[]),(0,r.useLayoutEffect)(()=>{if(a&&e){var r;null===(r=l.current.api())||void 0===r||r.applyOptions(e)}},[e]),l},z=(0,r.forwardRef)((e,i)=>{let t=P(e);return(0,r.useImperativeHandle)(i,()=>t.current,[t]),null});z.displayName="PriceLine";let V=z,T=({reactive:e=!0,markers:t})=>{let{initialized:a,seriesApiRef:l}=u(m),s=(0,r.useRef)({_markers:null,api(){return this._markers},init(){if(null===this._markers){let e=null==l?void 0:l.api();if(!e)return null;this._markers=(0,i.createSeriesMarkers)(e,t)}return this._markers},clear(){null!==this._markers&&(this._markers.detach(),this._markers=null)}});return(0,r.useLayoutEffect)(()=>{a&&s.current.init()},[a]),(0,r.useLayoutEffect)(()=>()=>{s.current.clear()},[]),(0,r.useLayoutEffect)(()=>{if(l&&t&&e){var r;null===(r=s.current.api())||void 0===r||r.setMarkers(t)}},[t,e]),s},W=(0,r.forwardRef)(({...e},i)=>{let t=T(e);return(0,r.useImperativeHandle)(i,()=>t.current,[t]),null});W.displayName="Markers";let M=W,$=e=>{let{initialized:a,chartApiRef:l}=u(t),s=(0,r.useRef)({_watermark:null,api(){return this._watermark},init(){if(null===this._watermark){let r=null==l?void 0:l.api(),t=null==r?void 0:r.panes()[0];if(!r||!t)return null;if(D(e)){let{type:r,...a}=e;this._watermark=(0,i.createTextWatermark)(t,a)}else{let{type:r,src:a,...l}=e;this._watermark=(0,i.createImageWatermark)(t,a,l)}}return this._watermark},clear(){null!==this._watermark&&(this._watermark.detach(),this._watermark=null)}});return(0,r.useLayoutEffect)(()=>{a&&s.current.init()},[a]),(0,r.useLayoutEffect)(()=>()=>{s.current.clear()},[]),(0,r.useLayoutEffect)(()=>{var r;if(!l||!e)return;let{type:i,...t}=e;null===(r=s.current.api())||void 0===r||r.applyOptions(t)},[e]),s},D=e=>"text"===e.type,q=(e,i)=>{let t=$(e);return(0,r.useImperativeHandle)(i,()=>t.current,[t]),null},Y=(0,r.forwardRef)((e,r)=>q({...e,type:"text"},r)),F=(0,r.forwardRef)((e,r)=>q({...e,type:"image"},r));Y.displayName="WatermarkText",F.displayName="WatermarkImage";export{N as AreaSeries,B as BarSeries,j as BaselineSeries,E as CandlestickSeries,n as Chart,I as CustomSeries,w as HistogramSeries,b as LineSeries,M as Markers,V as PriceLine,h as PriceScale,f as TimeScale,F as WatermarkImage,Y as WatermarkText};
|
|
14
14
|
//# sourceMappingURL=lightweight-charts-react-components.js.map
|
|
@@ -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/useChart.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/useTimeScale.ts","webpack://lightweight-charts-react-components/./src/scales/TimeScale.tsx","webpack://lightweight-charts-react-components/./src/scales/usePriceScale.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/useSeries.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/usePriceLine.ts","webpack://lightweight-charts-react-components/./src/priceLine/PriceLine.tsx","webpack://lightweight-charts-react-components/./src/markers/useMarkers.ts","webpack://lightweight-charts-react-components/./src/markers/Markers.tsx","webpack://lightweight-charts-react-components/./src/watermark/useWatermark.ts","webpack://lightweight-charts-react-components/./src/watermark/Watermark.tsx"],"sourcesContent":["import { createContext } from \"react\";\nimport { type IChartContext } from \"./types\";\n\nconst ChartContext = createContext<IChartContext>({\n chartApiRef: null,\n initialized: false,\n});\n\nChartContext.displayName = \"ChartContext\";\nexport { ChartContext };\n","import { useLayoutEffect, useRef, useState } from \"react\";\nimport { createChart } from \"lightweight-charts\";\nimport { ChartApiRef, ChartOptions } from \"./types\";\n\nexport const useChart = ({\n container,\n ...rest\n}: {\n container: HTMLElement;\n} & ChartOptions) => {\n const { onClick, onCrosshairMove, onInit, ...restOptions } = rest;\n const [initialized, setInitialized] = useState(false);\n\n const chartApiRef = useRef<ChartApiRef>({\n _chart: null,\n api() {\n return this._chart;\n },\n init() {\n if (this._chart === null) {\n this._chart = createChart(container, restOptions);\n\n if (onInit) {\n onInit(this._chart);\n }\n }\n\n if (!initialized) {\n setInitialized(true);\n }\n\n return this._chart;\n },\n clear() {\n if (this._chart !== null) {\n setInitialized(false);\n this._chart.remove();\n this._chart = null;\n }\n },\n });\n\n useLayoutEffect(() => {\n chartApiRef.current.init();\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, initialized };\n};\n","import { ChartContext } from \"./ChartContext\";\nimport { useChart } from \"./useChart\";\nimport { ChartProps } from \"./types\";\n\ntype ChartComponentProps = {\n container: HTMLElement;\n} & Omit<ChartProps, \"className\">;\n\nconst ChartComponent: React.FC<ChartComponentProps> = ({\n children,\n container,\n ...rest\n}) => {\n const {\n chartApiRef: { current: chartApiRef },\n initialized,\n } = useChart({ container, ...rest });\n\n return (\n <ChartContext.Provider\n value={{\n chartApiRef,\n initialized,\n }}\n >\n {children}\n </ChartContext.Provider>\n );\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 useTimeScale = ({\n onVisibleTimeRangeChange,\n onVisibleLogicalRangeChange,\n onSizeChange,\n visibleRange,\n visibleLogicalRange,\n options = {},\n}: TimeScaleProps) => {\n const { initialized: chartInitialized, chartApiRef: chart } =\n 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 return this._timeScale;\n },\n init() {\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 this._timeScale = null;\n },\n });\n\n useLayoutEffect(() => {\n if (!chartInitialized) return;\n\n timeScaleApiRef.current.init();\n }, [chartInitialized]);\n\n useLayoutEffect(() => {\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?.api()?.setVisibleLogicalRange(visibleLogicalRange);\n }\n }, [visibleLogicalRange]);\n\n return timeScaleApiRef;\n};\n","import { ForwardedRef, forwardRef, useImperativeHandle } from \"react\";\nimport { TimeScaleApiRef, TimeScaleProps } from \"./types\";\nimport { useTimeScale } from \"./useTimeScale\";\n\nconst TimeScaleRenderFunction = (\n props: TimeScaleProps,\n ref: ForwardedRef<TimeScaleApiRef>\n) => {\n const timeScaleApiRef = useTimeScale(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 usePriceScale = ({ options = {}, id }: PriceScaleProps) => {\n const { initialized: chartInitialized, chartApiRef: chart } =\n useSafeContext(ChartContext);\n\n const priceScaleApiRef = useRef<PriceScaleApiRef>({\n _priceScale: null,\n api() {\n return this._priceScale;\n },\n init() {\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 || chart === null) {\n return;\n }\n\n this._priceScale = chart.api()!.priceScale(id);\n },\n clear() {\n this._priceScale = null;\n },\n });\n\n useLayoutEffect(() => {\n if (!chartInitialized) return;\n\n priceScaleApiRef.current.init();\n }, [chartInitialized]);\n\n useLayoutEffect(() => {\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 { usePriceScale } from \"./usePriceScale\";\n\nconst PriceScaleRenderFunction = (\n props: PriceScaleProps,\n ref: ForwardedRef<PriceScaleApiRef>\n) => {\n const priceScaleApiRef = usePriceScale(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, useState } 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 useSeries = <T extends SeriesType>({\n type,\n data,\n options = {},\n reactive = true,\n ...rest\n}: Omit<SeriesTemplateProps<T>, \"children\">) => {\n const { initialized: chartInitialized, chartApiRef: chart } =\n useSafeContext(ChartContext);\n const [initialized, setInitialized] = useState(false);\n\n const seriesApiRef = useRef<SeriesApiRef<T>>({\n _series: null,\n api() {\n return this._series;\n },\n init() {\n if (!this._series) {\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 setInitialized(true);\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 setInitialized(false);\n }\n },\n });\n\n useLayoutEffect(() => {\n if (!chartInitialized) return;\n\n seriesApiRef.current.init();\n }, [chartInitialized]);\n\n useLayoutEffect(() => {\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 { initialized, 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 { type ISeriesContext } from \"./types\";\n\nexport const SeriesContext = createContext<ISeriesContext>({\n seriesApiRef: null,\n initialized: false,\n});\nSeriesContext.displayName = \"SeriesContext\";\n","import { useSeries } from \"./useSeries\";\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 {\n seriesApiRef: { current: seriesApiRef },\n initialized,\n } = useSeries(rest);\n useImperativeHandle(ref, () => seriesApiRef, [seriesApiRef]);\n\n return (\n <SeriesContext.Provider\n value={{\n seriesApiRef,\n initialized,\n }}\n >\n {children}\n </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 usePriceLine = ({ options, price }: PriceLineProps) => {\n const { initialized: seriesInitialized, seriesApiRef: series } =\n useSafeContext(SeriesContext);\n\n const priceLineApiRef = useRef<PriceLineApiRef>({\n _priceLine: null,\n api() {\n return this._priceLine;\n },\n init() {\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 if (!seriesInitialized) return;\n\n priceLineApiRef.current.init();\n }, [seriesInitialized]);\n\n useLayoutEffect(() => {\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 { usePriceLine } from \"./usePriceLine\";\n\nconst PriceLineRenderFunction = (\n props: PriceLineProps,\n ref: ForwardedRef<PriceLineApiRef>\n) => {\n const priceLineApiRef = usePriceLine(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 useMarkers = ({ reactive = true, markers }: MarkersProps) => {\n const { initialized: seriesInitialized, seriesApiRef: series } =\n useSafeContext(SeriesContext);\n\n const markersApiRef = useRef<MarkersApiRef>({\n _markers: null,\n api() {\n return this._markers;\n },\n init() {\n if (this._markers === null) {\n const seriesApi = series?.api();\n\n if (!seriesApi) {\n return null;\n }\n\n this._markers = createSeriesMarkers(seriesApi, markers);\n }\n\n return this._markers;\n },\n clear() {\n if (this._markers !== null) {\n this._markers.detach();\n this._markers = null;\n }\n },\n });\n\n useLayoutEffect(() => {\n if (!seriesInitialized) return;\n\n markersApiRef.current.init();\n }, [seriesInitialized]);\n\n useLayoutEffect(() => {\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 { useMarkers } from \"./useMarkers\";\n\nconst MarkersRenderFunction = (\n { ...rest }: MarkersProps,\n ref: ForwardedRef<MarkersApiRef>\n) => {\n const markersApiRef = useMarkers(rest);\n useImperativeHandle(ref, () => markersApiRef.current, [markersApiRef]);\n\n return null;\n};\n\nconst Markers = forwardRef(MarkersRenderFunction);\nMarkers.displayName = \"Markers\";\nexport default Markers;\n","import { useLayoutEffect, useRef } from \"react\";\nimport { WatermarkApiRef, WatermarkProps, WatermarkType } from \"./types\";\nimport { createTextWatermark, createImageWatermark } from \"lightweight-charts\";\nimport { useSafeContext } from \"@/shared/useSafeContext\";\nimport { ChartContext } from \"@/chart/ChartContext\";\n\nexport function useWatermark<T extends WatermarkType>(props: WatermarkProps<T>) {\n const { initialized: chartInitialized, chartApiRef: chart } =\n useSafeContext(ChartContext);\n\n const watermarkApiRef = useRef<WatermarkApiRef<T>>({\n _watermark: null,\n api() {\n return this._watermark;\n },\n init() {\n if (this._watermark === null) {\n const chartApi = chart?.api();\n const pane = chartApi?.panes()[0];\n if (!chartApi || !pane) return null;\n\n if (isTextWatermark(props)) {\n const { type: _, ...rest } = props;\n this._watermark = createTextWatermark(pane, rest);\n } else {\n const { type: _, src, ...rest } = props as WatermarkProps<\"image\">;\n this._watermark = createImageWatermark(pane, src, rest);\n }\n }\n\n return this._watermark;\n },\n clear() {\n if (this._watermark !== null) {\n this._watermark.detach();\n this._watermark = null;\n }\n },\n } as WatermarkApiRef<T>);\n\n useLayoutEffect(() => {\n if (!chartInitialized) return;\n\n watermarkApiRef.current.init();\n }, [chartInitialized]);\n\n useLayoutEffect(() => {\n return () => {\n watermarkApiRef.current.clear();\n };\n }, []);\n\n useLayoutEffect(() => {\n if (!chart || !props) return;\n\n const { type: _, ...rest } = props;\n watermarkApiRef.current.api()?.applyOptions(rest);\n }, [props]);\n\n return watermarkApiRef;\n}\n\nconst isTextWatermark = (\n props: WatermarkProps<WatermarkType>\n): props is WatermarkProps<\"text\"> => {\n return props.type === \"text\";\n};\n","import {\n ForwardedRef,\n forwardRef,\n useImperativeHandle,\n} from \"react\";\nimport { useWatermark } from \"./useWatermark\";\nimport {\n ImageWatermarkProps,\n TextWatermarkProps,\n WatermarkApiRef,\n WatermarkProps,\n WatermarkType,\n} from \"./types\";\n\nconst WatermarkRenderFunction = <T extends WatermarkType>(\n props: WatermarkProps<T>,\n ref: ForwardedRef<WatermarkApiRef<T>>,\n) => {\n const watermarkApi = useWatermark(props);\n useImperativeHandle(ref, () => watermarkApi.current, [watermarkApi]);\n\n return null;\n};\n\nconst WatermarkText = forwardRef<WatermarkApiRef<\"text\">, TextWatermarkProps>(\n (props, ref) => {\n return WatermarkRenderFunction({ ...props, type: \"text\" }, ref);\n },\n);\nconst WatermarkImage = forwardRef<WatermarkApiRef<\"image\">, ImageWatermarkProps>(\n (props, ref) => {\n return WatermarkRenderFunction({ ...props, type: \"image\" }, ref);\n },\n);\n\nWatermarkText.displayName = \"WatermarkText\";\nWatermarkImage.displayName = \"WatermarkImage\";\n\nexport { WatermarkText, WatermarkImage };\n"],"names":["ChartContext","createContext","useChart","container","rest","onClick","onCrosshairMove","onInit","restOptions","initialized","setInitialized","useState","chartApiRef","useRef","createChart","useLayoutEffect","_chartApiRef_current_api","children","ChartWrapper","forwardRef","className","ref","setContainer","containerRef","useCallback","r","ChartComponent","useSafeContext","context","currentContextValue","useContext","ctxName","Error","useTimeScale","onVisibleTimeRangeChange","onVisibleLogicalRangeChange","onSizeChange","visibleRange","visibleLogicalRange","options","chartInitialized","chart","timeScaleApiRef","chartApi","_timeScaleApiRef_current_api","TimeScale","props","useImperativeHandle","usePriceScale","id","priceScaleApiRef","_priceScaleApiRef_current","_priceScaleApiRef_current_api","PriceScale","BaseInternalError","message","isOperational","cause","docsPath","docsBaseUrl","version","Object","useSeries","type","data","reactive","seriesApiRef","_this__series","plugin","seriesMap","_chart_api","_seriesApiRef_current_api","LineSeries","CandlestickSeries","HistogramSeries","AreaSeries","BaselineSeries","BarSeries","SeriesContext","SeriesTemplate","CustomSeries","usePriceLine","price","seriesInitialized","series","priceLineApiRef","seriesApi","_series_api","_priceLineApiRef_current_api","PriceLine","useMarkers","markers","markersApiRef","createSeriesMarkers","_markersApiRef_current_api","Markers","isTextWatermark","WatermarkRenderFunction","watermarkApi","useWatermark","watermarkApiRef","pane","_","createTextWatermark","src","createImageWatermark","_watermarkApiRef_current_api","WatermarkText","WatermarkImage"],"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/useChart.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/useTimeScale.ts","webpack://lightweight-charts-react-components/./src/scales/TimeScale.tsx","webpack://lightweight-charts-react-components/./src/scales/usePriceScale.ts","webpack://lightweight-charts-react-components/./src/scales/PriceScale.tsx","webpack://lightweight-charts-react-components/./src/series/SeriesContext.ts","webpack://lightweight-charts-react-components/./src/shared/InternalError.ts","webpack://lightweight-charts-react-components/./src/series/useSeries.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/usePriceLine.ts","webpack://lightweight-charts-react-components/./src/priceLine/PriceLine.tsx","webpack://lightweight-charts-react-components/./src/markers/useMarkers.ts","webpack://lightweight-charts-react-components/./src/markers/Markers.tsx","webpack://lightweight-charts-react-components/./src/watermark/useWatermark.ts","webpack://lightweight-charts-react-components/./src/watermark/Watermark.tsx"],"sourcesContent":["import { createContext } from \"react\";\nimport { type IChartContext } from \"./types\";\n\nconst ChartContext = createContext<IChartContext>({\n chartApiRef: null,\n initialized: false,\n});\n\nChartContext.displayName = \"ChartContext\";\nexport { ChartContext };\n","import { createChart } from \"lightweight-charts\";\nimport { useLayoutEffect, useRef, useState } from \"react\";\nimport type { ChartApiRef, ChartOptions } from \"./types\";\n\nexport const useChart = ({\n container,\n ...rest\n}: {\n container: HTMLElement;\n} & ChartOptions) => {\n const { onClick, onCrosshairMove, onInit, ...restOptions } = rest;\n const [initialized, setInitialized] = useState(false);\n\n const chartApiRef = useRef<ChartApiRef>({\n _chart: null,\n api() {\n return this._chart;\n },\n init() {\n if (this._chart === null) {\n this._chart = createChart(container, restOptions);\n\n if (onInit) {\n onInit(this._chart);\n }\n }\n\n if (!initialized) {\n setInitialized(true);\n }\n\n return this._chart;\n },\n clear() {\n if (this._chart !== null) {\n setInitialized(false);\n this._chart.remove();\n this._chart = null;\n }\n },\n });\n\n useLayoutEffect(() => {\n chartApiRef.current.init();\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, initialized };\n};\n","import { ChartContext } from \"./ChartContext\";\nimport { useChart } from \"./useChart\";\nimport type { ChartProps } from \"./types\";\n\ntype ChartComponentProps = {\n container: HTMLElement;\n} & Omit<ChartProps, \"className\">;\n\nconst ChartComponent: React.FC<ChartComponentProps> = ({\n children,\n container,\n ...rest\n}) => {\n const {\n chartApiRef: { current: chartApiRef },\n initialized,\n } = useChart({ container, ...rest });\n\n return (\n <ChartContext.Provider\n value={{\n chartApiRef,\n initialized,\n }}\n >\n {children}\n </ChartContext.Provider>\n );\n};\n\nexport default ChartComponent;\n","import { forwardRef, useCallback, useState } from \"react\";\nimport ChartComponent from \"./ChartComponent\";\nimport type { ChartProps } from \"./types\";\nimport type { ForwardRefRenderFunction } from \"react\";\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 { type 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(\n `${ctxName} not found. You can access context value only inside its Provider.`\n );\n }\n\n return currentContextValue;\n};\n","import { useLayoutEffect, useRef } from \"react\";\nimport { ChartContext } from \"@/chart/ChartContext\";\nimport { useSafeContext } from \"@/shared/useSafeContext\";\nimport type { TimeScaleApiRef, TimeScaleProps } from \"./types\";\n\nexport const useTimeScale = ({\n onVisibleTimeRangeChange,\n onVisibleLogicalRangeChange,\n onSizeChange,\n visibleRange,\n visibleLogicalRange,\n options = {},\n}: TimeScaleProps) => {\n const { initialized: chartInitialized, chartApiRef: chart } =\n 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 return this._timeScale;\n },\n init() {\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 this._timeScale = null;\n },\n });\n\n useLayoutEffect(() => {\n if (!chartInitialized) return;\n\n timeScaleApiRef.current.init();\n }, [chartInitialized]);\n\n useLayoutEffect(() => {\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?.api()?.setVisibleLogicalRange(visibleLogicalRange);\n }\n }, [visibleLogicalRange]);\n\n return timeScaleApiRef;\n};\n","import { forwardRef, useImperativeHandle } from \"react\";\nimport { useTimeScale } from \"./useTimeScale\";\nimport type { TimeScaleApiRef, TimeScaleProps } from \"./types\";\nimport type { ForwardedRef } from \"react\";\n\nconst TimeScaleRenderFunction = (\n props: TimeScaleProps,\n ref: ForwardedRef<TimeScaleApiRef>\n) => {\n const timeScaleApiRef = useTimeScale(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 { ChartContext } from \"@/chart/ChartContext\";\nimport { useSafeContext } from \"@/shared/useSafeContext\";\nimport type { PriceScaleProps, PriceScaleApiRef } from \"./types\";\n\nexport const usePriceScale = ({ options = {}, id }: PriceScaleProps) => {\n const { initialized: chartInitialized, chartApiRef: chart } =\n useSafeContext(ChartContext);\n\n const priceScaleApiRef = useRef<PriceScaleApiRef>({\n _priceScale: null,\n api() {\n return this._priceScale;\n },\n init() {\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(options);\n }\n\n return this._priceScale;\n },\n setId(id) {\n if (this._priceScale === null || chart === null) {\n return;\n }\n\n this._priceScale = chart.api()!.priceScale(id);\n this._priceScale.applyOptions(options);\n },\n clear() {\n this._priceScale = null;\n },\n });\n\n useLayoutEffect(() => {\n if (!chartInitialized) return;\n\n priceScaleApiRef.current.init();\n }, [chartInitialized]);\n\n useLayoutEffect(() => {\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 { forwardRef, useImperativeHandle } from \"react\";\nimport { usePriceScale } from \"./usePriceScale\";\nimport type { PriceScaleApiRef, PriceScaleProps } from \"./types\";\nimport type { ForwardedRef } from \"react\";\n\nconst PriceScaleRenderFunction = (\n props: PriceScaleProps,\n ref: ForwardedRef<PriceScaleApiRef>\n) => {\n const priceScaleApiRef = usePriceScale(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 { createContext } from \"react\";\nimport { type ISeriesContext } from \"./types\";\n\nexport const SeriesContext = createContext<ISeriesContext>({\n seriesApiRef: null,\n initialized: false,\n});\nSeriesContext.displayName = \"SeriesContext\";\n","import { version } from \"../../package.json\";\n\nconst docsBaseUrl = \"https://tradingview.github.io/lightweight-charts/docs\";\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 {\n LineSeries,\n CandlestickSeries,\n HistogramSeries,\n AreaSeries,\n BaselineSeries,\n BarSeries,\n} from \"lightweight-charts\";\nimport { useLayoutEffect, useRef, useState } from \"react\";\nimport { ChartContext } from \"@/chart/ChartContext\";\nimport { BaseInternalError } from \"@/shared/InternalError\";\nimport { useSafeContext } from \"@/shared/useSafeContext\";\nimport type {\n CustomSeriesUniqueProps,\n SeriesApiRef,\n SeriesTemplateProps,\n SeriesType,\n} from \"./types\";\nimport type { SeriesDefinition, ISeriesApi } from \"lightweight-charts\";\n\ntype SeriesTypeWithoutCustom = Exclude<SeriesType, \"Custom\">;\n\nexport const useSeries = <T extends SeriesType>({\n type,\n data,\n options = {},\n reactive = true,\n ...rest\n}: Omit<SeriesTemplateProps<T>, \"children\">) => {\n const { initialized: chartInitialized, chartApiRef: chart } =\n useSafeContext(ChartContext);\n const [initialized, setInitialized] = useState(false);\n\n const seriesApiRef = useRef<SeriesApiRef<T>>({\n _series: null,\n api() {\n return this._series;\n },\n init() {\n if (!this._series) {\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 setInitialized(true);\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 setInitialized(false);\n }\n },\n });\n\n useLayoutEffect(() => {\n if (!chartInitialized) return;\n\n seriesApiRef.current.init();\n }, [chartInitialized]);\n\n useLayoutEffect(() => {\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 { initialized, 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 { forwardRef, useImperativeHandle } from \"react\";\nimport { SeriesContext } from \"./SeriesContext\";\nimport { useSeries } from \"./useSeries\";\nimport type { SeriesType, SeriesTemplateProps, SeriesApiRef } from \"./types\";\nimport type { ForwardedRef } 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 {\n seriesApiRef: { current: seriesApiRef },\n initialized,\n } = useSeries(rest);\n useImperativeHandle(ref, () => seriesApiRef, [seriesApiRef]);\n\n return (\n <SeriesContext.Provider\n value={{\n seriesApiRef,\n initialized,\n }}\n >\n {children}\n </SeriesContext.Provider>\n );\n};\n\nconst SeriesTemplate = forwardRef(SeriesTemplateRenderFunction) as GenericRefComponent;\n\nSeriesTemplate.displayName = \"SeriesTemplate\";\nexport default SeriesTemplate;\n","import { forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport type { SeriesApiRef, SeriesProps } from \"./types\";\nimport type { ForwardedRef } from \"react\";\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 { forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport type { SeriesApiRef, SeriesProps } from \"./types\";\nimport type { ForwardedRef } from \"react\";\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 { forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport type { SeriesApiRef, SeriesProps } from \"./types\";\nimport type { ForwardedRef } from \"react\";\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 { forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport type { SeriesApiRef, SeriesProps } from \"./types\";\nimport type { ForwardedRef } from \"react\";\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 { forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport type { SeriesApiRef, SeriesProps } from \"./types\";\nimport type { ForwardedRef } from \"react\";\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 { forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport type { SeriesApiRef, SeriesProps } from \"./types\";\nimport type { ForwardedRef } from \"react\";\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 { forwardRef } from \"react\";\nimport SeriesTemplate from \"./SeriesTemplate\";\nimport type { SeriesApiRef, SeriesProps } from \"./types\";\nimport type { ForwardedRef } from \"react\";\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 { SeriesContext } from \"@/series/SeriesContext\";\nimport { useSafeContext } from \"@/shared/useSafeContext\";\nimport type { PriceLineApiRef, PriceLineProps } from \"./types\";\n\nexport const usePriceLine = ({ options, price }: PriceLineProps) => {\n const { initialized: seriesInitialized, seriesApiRef: series } =\n useSafeContext(SeriesContext);\n\n const priceLineApiRef = useRef<PriceLineApiRef>({\n _priceLine: null,\n api() {\n return this._priceLine;\n },\n init() {\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 if (!seriesInitialized) return;\n\n priceLineApiRef.current.init();\n }, [seriesInitialized]);\n\n useLayoutEffect(() => {\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 { forwardRef, useImperativeHandle } from \"react\";\nimport { usePriceLine } from \"./usePriceLine\";\nimport type { PriceLineApiRef, PriceLineProps } from \"./types\";\nimport type { ForwardedRef } from \"react\";\n\nconst PriceLineRenderFunction = (\n props: PriceLineProps,\n ref: ForwardedRef<PriceLineApiRef>\n) => {\n const priceLineApiRef = usePriceLine(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 { createSeriesMarkers } from \"lightweight-charts\";\nimport { useLayoutEffect, useRef } from \"react\";\nimport { SeriesContext } from \"@/series/SeriesContext\";\nimport { useSafeContext } from \"@/shared/useSafeContext\";\nimport type { MarkersApiRef, MarkersProps } from \"./types\";\n\nexport const useMarkers = ({ reactive = true, markers }: MarkersProps) => {\n const { initialized: seriesInitialized, seriesApiRef: series } =\n useSafeContext(SeriesContext);\n\n const markersApiRef = useRef<MarkersApiRef>({\n _markers: null,\n api() {\n return this._markers;\n },\n init() {\n if (this._markers === null) {\n const seriesApi = series?.api();\n\n if (!seriesApi) {\n return null;\n }\n\n this._markers = createSeriesMarkers(seriesApi, markers);\n }\n\n return this._markers;\n },\n clear() {\n if (this._markers !== null) {\n this._markers.detach();\n this._markers = null;\n }\n },\n });\n\n useLayoutEffect(() => {\n if (!seriesInitialized) return;\n\n markersApiRef.current.init();\n }, [seriesInitialized]);\n\n useLayoutEffect(() => {\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 { forwardRef, useImperativeHandle } from \"react\";\nimport { useMarkers } from \"./useMarkers\";\nimport type { MarkersApiRef, MarkersProps } from \"./types\";\nimport type { ForwardedRef } from \"react\";\n\nconst MarkersRenderFunction = (\n { ...rest }: MarkersProps,\n ref: ForwardedRef<MarkersApiRef>\n) => {\n const markersApiRef = useMarkers(rest);\n useImperativeHandle(ref, () => markersApiRef.current, [markersApiRef]);\n\n return null;\n};\n\nconst Markers = forwardRef(MarkersRenderFunction);\nMarkers.displayName = \"Markers\";\nexport default Markers;\n","import { createTextWatermark, createImageWatermark } from \"lightweight-charts\";\nimport { useLayoutEffect, useRef } from \"react\";\nimport { ChartContext } from \"@/chart/ChartContext\";\nimport { useSafeContext } from \"@/shared/useSafeContext\";\nimport type { WatermarkApiRef, WatermarkProps, WatermarkType } from \"./types\";\n\nconst useWatermark = <T extends WatermarkType>(props: WatermarkProps<T>) => {\n const { initialized: chartInitialized, chartApiRef: chart } =\n useSafeContext(ChartContext);\n\n const watermarkApiRef = useRef<WatermarkApiRef<T>>({\n _watermark: null,\n api() {\n return this._watermark;\n },\n init() {\n if (this._watermark === null) {\n const chartApi = chart?.api();\n const pane = chartApi?.panes()[0];\n if (!chartApi || !pane) return null;\n\n if (isTextWatermark(props)) {\n const { type: _, ...rest } = props;\n this._watermark = createTextWatermark(pane, rest);\n } else {\n const { type: _, src, ...rest } = props as WatermarkProps<\"image\">;\n this._watermark = createImageWatermark(pane, src, rest);\n }\n }\n\n return this._watermark;\n },\n clear() {\n if (this._watermark !== null) {\n this._watermark.detach();\n this._watermark = null;\n }\n },\n } as WatermarkApiRef<T>);\n\n useLayoutEffect(() => {\n if (!chartInitialized) return;\n\n watermarkApiRef.current.init();\n }, [chartInitialized]);\n\n useLayoutEffect(() => {\n return () => {\n watermarkApiRef.current.clear();\n };\n }, []);\n\n useLayoutEffect(() => {\n if (!chart || !props) return;\n\n const { type: _, ...rest } = props;\n watermarkApiRef.current.api()?.applyOptions(rest);\n }, [props]);\n\n return watermarkApiRef;\n};\n\nconst isTextWatermark = (\n props: WatermarkProps<WatermarkType>\n): props is WatermarkProps<\"text\"> => {\n return props.type === \"text\";\n};\n\nexport { useWatermark };\n","import { forwardRef, useImperativeHandle } from \"react\";\nimport { useWatermark } from \"./useWatermark\";\nimport type {\n ImageWatermarkProps,\n TextWatermarkProps,\n WatermarkApiRef,\n WatermarkProps,\n WatermarkType,\n} from \"./types\";\nimport type { ForwardedRef } from \"react\";\n\nconst WatermarkRenderFunction = <T extends WatermarkType>(\n props: WatermarkProps<T>,\n ref: ForwardedRef<WatermarkApiRef<T>>\n) => {\n const watermarkApi = useWatermark(props);\n useImperativeHandle(ref, () => watermarkApi.current, [watermarkApi]);\n\n return null;\n};\n\nconst WatermarkText = forwardRef<WatermarkApiRef<\"text\">, TextWatermarkProps>(\n (props, ref) => {\n return WatermarkRenderFunction({ ...props, type: \"text\" }, ref);\n }\n);\n\nconst WatermarkImage = forwardRef<WatermarkApiRef<\"image\">, ImageWatermarkProps>(\n (props, ref) => {\n return WatermarkRenderFunction({ ...props, type: \"image\" }, ref);\n }\n);\n\nWatermarkText.displayName = \"WatermarkText\";\nWatermarkImage.displayName = \"WatermarkImage\";\n\nexport { WatermarkText, WatermarkImage };\n"],"names":["ChartContext","createContext","useChart","container","rest","onClick","onCrosshairMove","onInit","restOptions","initialized","setInitialized","useState","chartApiRef","useRef","createChart","useLayoutEffect","_chartApiRef_current_api","children","ChartWrapper","forwardRef","className","ref","setContainer","containerRef","useCallback","r","ChartComponent","useSafeContext","context","currentContextValue","useContext","ctxName","Error","useTimeScale","onVisibleTimeRangeChange","onVisibleLogicalRangeChange","onSizeChange","visibleRange","visibleLogicalRange","options","chartInitialized","chart","timeScaleApiRef","chartApi","_timeScaleApiRef_current_api","TimeScale","props","useImperativeHandle","usePriceScale","id","priceScaleApiRef","_priceScaleApiRef_current","_priceScaleApiRef_current_api","PriceScale","SeriesContext","BaseInternalError","message","isOperational","cause","docsPath","docsBaseUrl","version","Object","useSeries","type","data","reactive","seriesApiRef","_this__series","plugin","seriesMap","_chart_api","_seriesApiRef_current_api","LineSeries","CandlestickSeries","HistogramSeries","AreaSeries","BaselineSeries","BarSeries","SeriesTemplate","CustomSeries","usePriceLine","price","seriesInitialized","series","priceLineApiRef","seriesApi","_series_api","_priceLineApiRef_current_api","PriceLine","useMarkers","markers","markersApiRef","createSeriesMarkers","_markersApiRef_current_api","Markers","useWatermark","watermarkApiRef","pane","isTextWatermark","_","createTextWatermark","src","createImageWatermark","_watermarkApiRef_current_api","WatermarkRenderFunction","watermarkApi","WatermarkText","WatermarkImage"],"mappings":"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"}
|