react-candlesticks 0.0.2

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.
Files changed (267) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +219 -0
  3. package/dist/components/Chart/Chart.d.ts +36 -0
  4. package/dist/components/Chart/ChartWithPropTypes.d.ts +7 -0
  5. package/dist/components/Chart/chartPropTypes.d.ts +21 -0
  6. package/dist/components/Chart/index.d.ts +8 -0
  7. package/dist/components/Chart/parseConfigComponents.d.ts +19 -0
  8. package/dist/components/ChartCanvases/ChartCanvases.d.ts +26 -0
  9. package/dist/components/ChartCanvases/index.d.ts +8 -0
  10. package/dist/components/InteractiveArea/InteractiveArea.d.ts +13 -0
  11. package/dist/components/InteractiveArea/index.d.ts +8 -0
  12. package/dist/components/StatefulChart/StatefulChart.d.ts +26 -0
  13. package/dist/components/StatefulChart/getViewportData.d.ts +6 -0
  14. package/dist/components/StatefulChart/index.d.ts +8 -0
  15. package/dist/components/UIs/PanelUIs/Legend/Legend.d.ts +13 -0
  16. package/dist/components/UIs/PanelUIs/PanelControls/PanelControls.d.ts +13 -0
  17. package/dist/components/UIs/PanelUIs/PanelUIs.d.ts +16 -0
  18. package/dist/components/UIs/UIs.d.ts +23 -0
  19. package/dist/components/index.d.ts +8 -0
  20. package/dist/config/chart/ChartConfig.d.ts +19 -0
  21. package/dist/config/chart/borders/BordersConfig.d.ts +21 -0
  22. package/dist/config/chart/borders/parseBordersConfig.d.ts +3 -0
  23. package/dist/config/chart/crosshairs/CrosshairsConfig.d.ts +14 -0
  24. package/dist/config/chart/crosshairs/parseCrosshairsConfig.d.ts +3 -0
  25. package/dist/config/chart/crosshairs/timeCrosshair/TimeCrosshairConfig.d.ts +14 -0
  26. package/dist/config/chart/crosshairs/timeCrosshair/parseTimeCrosshairConfig.d.ts +3 -0
  27. package/dist/config/chart/crosshairs/timeCrosshair/timeCrosshairLabel/CrosshairTimeFormat.d.ts +7 -0
  28. package/dist/config/chart/crosshairs/timeCrosshair/timeCrosshairLabel/TimeCrosshairLabelConfig.d.ts +10 -0
  29. package/dist/config/chart/crosshairs/timeCrosshair/timeCrosshairLabel/TimeCrosshairLabelFormatter.d.ts +7 -0
  30. package/dist/config/chart/crosshairs/timeCrosshair/timeCrosshairLabel/defaultTimeCrosshairLabelFormatter.d.ts +3 -0
  31. package/dist/config/chart/crosshairs/timeCrosshair/timeCrosshairLabel/parseTimeCrosshairLabelConfig.d.ts +3 -0
  32. package/dist/config/chart/crosshairs/valueCrosshair/ValueCrosshairConfig.d.ts +14 -0
  33. package/dist/config/chart/crosshairs/valueCrosshair/parseValueCrosshairConfig.d.ts +3 -0
  34. package/dist/config/chart/crosshairs/valueCrosshair/valueCrosshairLabel/ValueCrosshairLabelConfig.d.ts +5 -0
  35. package/dist/config/chart/crosshairs/valueCrosshair/valueCrosshairLabel/parseValueCrosshairLabelConfig.d.ts +3 -0
  36. package/dist/config/chart/grid/GridConfig.d.ts +13 -0
  37. package/dist/config/chart/grid/parseGridConfig.d.ts +3 -0
  38. package/dist/config/chart/parseChartConfig.d.ts +4 -0
  39. package/dist/config/chart/xAxis/XAxisConfig.d.ts +23 -0
  40. package/dist/config/chart/xAxis/parseXAxisConfig.d.ts +3 -0
  41. package/dist/config/elements/bar/BarConfig.d.ts +20 -0
  42. package/dist/config/elements/bar/DirectionalBarConfig.d.ts +17 -0
  43. package/dist/config/elements/bar/parseBarConfig.d.ts +3 -0
  44. package/dist/config/elements/bar/parseDirectionalBarConfig.d.ts +3 -0
  45. package/dist/config/elements/boxedTimeLabel/BoxedTimeLabelConfig.d.ts +23 -0
  46. package/dist/config/elements/boxedTimeLabel/parseBoxedTimeLabelConfig.d.ts +3 -0
  47. package/dist/config/elements/boxedValueLabel/BoxedValueLabelConfig.d.ts +23 -0
  48. package/dist/config/elements/boxedValueLabel/parseBoxedValueLabelConfig.d.ts +3 -0
  49. package/dist/config/elements/button/ButtonConfig.d.ts +21 -0
  50. package/dist/config/elements/button/parseButtonConfig.d.ts +3 -0
  51. package/dist/config/elements/label/Font.d.ts +9 -0
  52. package/dist/config/elements/label/LabelConfig.d.ts +27 -0
  53. package/dist/config/elements/label/parseLabelConfig.d.ts +3 -0
  54. package/dist/config/elements/line/DirectionalLineConfig.d.ts +17 -0
  55. package/dist/config/elements/line/LineConfig.d.ts +28 -0
  56. package/dist/config/elements/line/parseDirectionalLineConfig.d.ts +3 -0
  57. package/dist/config/elements/line/parseLineConfig.d.ts +3 -0
  58. package/dist/config/elements/timeLabel/TimeLabelConfig.d.ts +14 -0
  59. package/dist/config/elements/timeLabel/TimeLabelFormatter.d.ts +9 -0
  60. package/dist/config/elements/timeLabel/defaultTimeLabelFormatter.d.ts +3 -0
  61. package/dist/config/elements/timeLabel/parseTimeLabelConfig.d.ts +3 -0
  62. package/dist/config/elements/valueLabel/ValueLabelConfig.d.ts +11 -0
  63. package/dist/config/elements/valueLabel/defaultValueLabelFormatter.d.ts +8 -0
  64. package/dist/config/elements/valueLabel/parseValueLabelConfig.d.ts +3 -0
  65. package/dist/config/index.d.ts +7 -0
  66. package/dist/config/layer/BaseLayerConfig.d.ts +81 -0
  67. package/dist/config/layer/Layer.d.ts +17 -0
  68. package/dist/config/layer/LayerConfig.d.ts +24 -0
  69. package/dist/config/layer/LayerType.d.ts +7 -0
  70. package/dist/config/layer/createLayerTopology.d.ts +9 -0
  71. package/dist/config/layer/inputSourceShorthand.d.ts +4 -0
  72. package/dist/config/layer/layerComponentNameToLayerTypeMap.d.ts +19 -0
  73. package/dist/config/layer/layerComponentTypeKey.d.ts +8 -0
  74. package/dist/config/layer/parseLayerConfig.d.ts +3 -0
  75. package/dist/config/layer/parseLayerConfigs.d.ts +3 -0
  76. package/dist/config/layer/parseLookback.d.ts +8 -0
  77. package/dist/config/layer/validateLayerInputs.d.ts +3 -0
  78. package/dist/config/layer/yAxis/YAxisConfig.d.ts +22 -0
  79. package/dist/config/layer/yAxis/parseYAxisConfig.d.ts +3 -0
  80. package/dist/config/legend/LegendConfig.d.ts +29 -0
  81. package/dist/config/legend/LegendFieldConfig.d.ts +31 -0
  82. package/dist/config/legend/parseLegendConfig.d.ts +4 -0
  83. package/dist/config/legend/parseLegendFieldConfig.d.ts +3 -0
  84. package/dist/config/legend/parseLegendFieldsConfig.d.ts +3 -0
  85. package/dist/config/panel/Panel.d.ts +7 -0
  86. package/dist/config/panel/PanelConfig.d.ts +30 -0
  87. package/dist/config/panel/controls/PanelControlsConfig.d.ts +10 -0
  88. package/dist/config/panel/controls/parsePanelControlsConfig.d.ts +3 -0
  89. package/dist/config/panel/parsePanelConfig.d.ts +4 -0
  90. package/dist/config/panel/parsePanelConfigs.d.ts +4 -0
  91. package/dist/config/panel/setPanelYAxes.d.ts +4 -0
  92. package/dist/config/utils/validateNumber.d.ts +9 -0
  93. package/dist/config/valueMarker/DirectionalValueMarkerConfig.d.ts +25 -0
  94. package/dist/config/valueMarker/ValueMarkerConfig.d.ts +19 -0
  95. package/dist/config/valueMarker/ValueMarkerMode.d.ts +7 -0
  96. package/dist/config/valueMarker/parseDirectionalValueMarkerConfig.d.ts +3 -0
  97. package/dist/config/valueMarker/parseValueMarkerConfig.d.ts +3 -0
  98. package/dist/data/layers/createLayersData.d.ts +4 -0
  99. package/dist/data/layers/createPriceVolumeCalculationContext.d.ts +4 -0
  100. package/dist/data/layers/createPriceVolumeDerivedLayerCalculationContext.d.ts +5 -0
  101. package/dist/data/layers/updateLayersData.d.ts +7 -0
  102. package/dist/data/map/buildDataMap.d.ts +9 -0
  103. package/dist/data/utils/deduceGranulairty.d.ts +4 -0
  104. package/dist/data/utils/granularityToTimeUnit.d.ts +4 -0
  105. package/dist/domain/constants/time/days.d.ts +8 -0
  106. package/dist/domain/constants/time/months.d.ts +8 -0
  107. package/dist/domain/constants/time/timeDurationsAsMs.d.ts +10 -0
  108. package/dist/domain/constants/timeZone/timeZones.d.ts +8 -0
  109. package/dist/domain/types/DataMap.d.ts +18 -0
  110. package/dist/domain/types/DataPoint.d.ts +14 -0
  111. package/dist/domain/types/DataPointInfo.d.ts +9 -0
  112. package/dist/domain/types/DateTimeFormatToken.d.ts +7 -0
  113. package/dist/domain/types/Granularity.d.ts +7 -0
  114. package/dist/domain/types/IndexBlock.d.ts +20 -0
  115. package/dist/domain/types/IndexProvider.d.ts +13 -0
  116. package/dist/domain/types/LayersData.d.ts +20 -0
  117. package/dist/domain/types/Layout.d.ts +19 -0
  118. package/dist/domain/types/LocalDateTime.d.ts +25 -0
  119. package/dist/domain/types/RawSession.d.ts +14 -0
  120. package/dist/domain/types/Theme.d.ts +17 -0
  121. package/dist/domain/types/TimeFormatToken.d.ts +7 -0
  122. package/dist/domain/types/TimeScale.d.ts +21 -0
  123. package/dist/domain/types/TimeUnit.d.ts +7 -0
  124. package/dist/domain/types/ViewportData.d.ts +18 -0
  125. package/dist/domain/types/gridLine/TimeGridLine.d.ts +7 -0
  126. package/dist/domain/types/gridLine/TimeGridStep.d.ts +14 -0
  127. package/dist/domain/types/gridLine/TimeIntervalSpec.d.ts +9 -0
  128. package/dist/domain/types/metrics/ChartMetrics.d.ts +5 -0
  129. package/dist/domain/types/metrics/LayerMetrics.d.ts +11 -0
  130. package/dist/domain/types/metrics/PanelMetrics.d.ts +15 -0
  131. package/dist/drawing/chart/borders/drawBorders.d.ts +4 -0
  132. package/dist/drawing/chart/crosshairs/clearChartCrosshairs.d.ts +8 -0
  133. package/dist/drawing/chart/crosshairs/drawChartCrosshairs.d.ts +13 -0
  134. package/dist/drawing/chart/crosshairs/drawChartValueCrosshairLabel.d.ts +5 -0
  135. package/dist/drawing/chart/drawChart.d.ts +9 -0
  136. package/dist/drawing/chart/grid/time/TimeGridLine.d.ts +11 -0
  137. package/dist/drawing/chart/grid/time/drawTimeGridLabels.d.ts +6 -0
  138. package/dist/drawing/chart/grid/time/drawTimeGridLines.d.ts +6 -0
  139. package/dist/drawing/chart/grid/time/isTimeGridLine.d.ts +3 -0
  140. package/dist/drawing/chart/grid/value/ValueGridLine.d.ts +10 -0
  141. package/dist/drawing/chart/grid/value/calculateValueGridLines.d.ts +3 -0
  142. package/dist/drawing/chart/grid/value/drawValueGridLines.d.ts +7 -0
  143. package/dist/drawing/chart/grid/value/getDefaultValueGridLines.d.ts +8 -0
  144. package/dist/drawing/elements/drawBar.d.ts +3 -0
  145. package/dist/drawing/elements/labels/timeLabel/drawTimeGridLabel.d.ts +4 -0
  146. package/dist/drawing/elements/labels/valueLabel/drawValueGridLabels.d.ts +9 -0
  147. package/dist/drawing/elements/line/drawLine.d.ts +8 -0
  148. package/dist/drawing/elements/line/endDrawLine.d.ts +3 -0
  149. package/dist/drawing/elements/line/startDrawLine.d.ts +3 -0
  150. package/dist/drawing/getCanvasContext.d.ts +12 -0
  151. package/dist/drawing/labels/valueLabel/drawValueGridLabels.d.ts +9 -0
  152. package/dist/drawing/layer/drawLayer.d.ts +10 -0
  153. package/dist/drawing/layer/drawLayers.d.ts +11 -0
  154. package/dist/drawing/panel/drawLayersForScale.d.ts +12 -0
  155. package/dist/drawing/panel/drawPanel.d.ts +14 -0
  156. package/dist/drawing/panel/drawPanelBorder.d.ts +9 -0
  157. package/dist/drawing/panel/drawPanels.d.ts +14 -0
  158. package/dist/drawing/panel/getPanelYAxes.d.ts +21 -0
  159. package/dist/drawing/panel/mapLayersByScale.d.ts +4 -0
  160. package/dist/drawing/valueMarker/drawDirectionalValueMarker.d.ts +12 -0
  161. package/dist/drawing/valueMarker/drawValueMarker.d.ts +12 -0
  162. package/dist/drawing/valueMarker/drawValueMarkerLabel.d.ts +13 -0
  163. package/dist/drawing/valueMarker/drawValueMarkerLine.d.ts +9 -0
  164. package/dist/exampleData/d1.d.ts +3 -0
  165. package/dist/exampleData/d1Short.d.ts +3 -0
  166. package/dist/exampleData/index.d.ts +7 -0
  167. package/dist/hooks/useDevicePixelRatio.d.ts +8 -0
  168. package/dist/hooks/useResizeObserver.d.ts +7 -0
  169. package/dist/index-Bb_QstiX.js +9443 -0
  170. package/dist/index.d.ts +13 -0
  171. package/dist/index.js +21 -0
  172. package/dist/indexProviders/continuous/createContinuousIndexProvider.d.ts +5 -0
  173. package/dist/indexProviders/continuous/findClosestIndex.d.ts +3 -0
  174. package/dist/indexProviders/continuous/getKnownBars.d.ts +6 -0
  175. package/dist/indexProviders/continuous/indexToTimestamp.d.ts +3 -0
  176. package/dist/indexProviders/continuous/lowerBound.d.ts +8 -0
  177. package/dist/indexProviders/continuous/timestampToBarIndex.d.ts +3 -0
  178. package/dist/layers/atr/ATRLayer.d.ts +8 -0
  179. package/dist/layers/atr/AtrLayerConfig.d.ts +44 -0
  180. package/dist/layers/atr/calc.d.ts +4 -0
  181. package/dist/layers/atr/draw.d.ts +10 -0
  182. package/dist/layers/atr/index.d.ts +5 -0
  183. package/dist/layers/atr/parse.d.ts +4 -0
  184. package/dist/layers/bollingerBands/BollingerBandsLayer.d.ts +8 -0
  185. package/dist/layers/bollingerBands/BollingerBandsLayerConfig.d.ts +65 -0
  186. package/dist/layers/bollingerBands/calc.d.ts +4 -0
  187. package/dist/layers/bollingerBands/draw.d.ts +10 -0
  188. package/dist/layers/bollingerBands/index.d.ts +5 -0
  189. package/dist/layers/bollingerBands/parse.d.ts +4 -0
  190. package/dist/layers/candlesticks/CandlestickLayerConfig.d.ts +42 -0
  191. package/dist/layers/candlesticks/CandlesticksLayer.d.ts +8 -0
  192. package/dist/layers/candlesticks/calc.d.ts +5 -0
  193. package/dist/layers/candlesticks/draw/_debugDrawEmptyCandle.d.ts +8 -0
  194. package/dist/layers/candlesticks/draw/draw.d.ts +10 -0
  195. package/dist/layers/candlesticks/draw/drawCandleBody.d.ts +3 -0
  196. package/dist/layers/candlesticks/draw/drawCandleWick.d.ts +3 -0
  197. package/dist/layers/candlesticks/draw/drawCandlestick.d.ts +4 -0
  198. package/dist/layers/candlesticks/index.d.ts +5 -0
  199. package/dist/layers/candlesticks/parse.d.ts +4 -0
  200. package/dist/layers/ema/EMALayer.d.ts +8 -0
  201. package/dist/layers/ema/EmaLayerConfig.d.ts +42 -0
  202. package/dist/layers/ema/calc.d.ts +4 -0
  203. package/dist/layers/ema/draw.d.ts +10 -0
  204. package/dist/layers/ema/index.d.ts +5 -0
  205. package/dist/layers/ema/parse.d.ts +4 -0
  206. package/dist/layers/index.d.ts +11 -0
  207. package/dist/layers/layers.d.ts +4 -0
  208. package/dist/layers/macd/MACDLayer.d.ts +8 -0
  209. package/dist/layers/macd/MacdLayerConfig.d.ts +61 -0
  210. package/dist/layers/macd/calc.d.ts +4 -0
  211. package/dist/layers/macd/draw.d.ts +10 -0
  212. package/dist/layers/macd/index.d.ts +5 -0
  213. package/dist/layers/macd/parse.d.ts +4 -0
  214. package/dist/layers/priceLine/PriceLineLayer.d.ts +8 -0
  215. package/dist/layers/priceLine/PriceLineLayerConfig.d.ts +39 -0
  216. package/dist/layers/priceLine/calc.d.ts +5 -0
  217. package/dist/layers/priceLine/draw.d.ts +10 -0
  218. package/dist/layers/priceLine/index.d.ts +5 -0
  219. package/dist/layers/priceLine/parse.d.ts +4 -0
  220. package/dist/layers/rsi/RSILayer.d.ts +8 -0
  221. package/dist/layers/rsi/RsiLayerConfig.d.ts +40 -0
  222. package/dist/layers/rsi/calc.d.ts +4 -0
  223. package/dist/layers/rsi/draw.d.ts +10 -0
  224. package/dist/layers/rsi/index.d.ts +5 -0
  225. package/dist/layers/rsi/parse.d.ts +4 -0
  226. package/dist/layers/sma/SMALayer.d.ts +8 -0
  227. package/dist/layers/sma/SmaLayerConfig.d.ts +42 -0
  228. package/dist/layers/sma/calc.d.ts +4 -0
  229. package/dist/layers/sma/draw.d.ts +10 -0
  230. package/dist/layers/sma/index.d.ts +5 -0
  231. package/dist/layers/sma/parse.d.ts +4 -0
  232. package/dist/layers/stochastic/StochasticLayer.d.ts +8 -0
  233. package/dist/layers/stochastic/StochasticLayerConfig.d.ts +56 -0
  234. package/dist/layers/stochastic/calc.d.ts +4 -0
  235. package/dist/layers/stochastic/draw.d.ts +10 -0
  236. package/dist/layers/stochastic/index.d.ts +5 -0
  237. package/dist/layers/stochastic/parse.d.ts +4 -0
  238. package/dist/layers/volumeBars/VolumeBarsLayer.d.ts +8 -0
  239. package/dist/layers/volumeBars/VolumeBarsLayerConfig.d.ts +38 -0
  240. package/dist/layers/volumeBars/calc.d.ts +5 -0
  241. package/dist/layers/volumeBars/draw/draw.d.ts +10 -0
  242. package/dist/layers/volumeBars/draw/drawVolumeBar.d.ts +3 -0
  243. package/dist/layers/volumeBars/index.d.ts +5 -0
  244. package/dist/layers/volumeBars/parse.d.ts +4 -0
  245. package/dist/layout/getLayout.d.ts +5 -0
  246. package/dist/metrics/chart/calculateChartMetrics.d.ts +5 -0
  247. package/dist/metrics/layer/calculateLayerMetrics.d.ts +8 -0
  248. package/dist/metrics/layer/getIndicatorScalingValues.d.ts +3 -0
  249. package/dist/metrics/layer/getMinAndMaxValues.d.ts +8 -0
  250. package/dist/propTypes.d.ts +15 -0
  251. package/dist/propTypes.js +77 -0
  252. package/dist/react-candlesticks.css +6 -0
  253. package/dist/themes/defaultDarkTheme.d.ts +3 -0
  254. package/dist/themes/defaultLightTheme.d.ts +3 -0
  255. package/dist/themes/themes.d.ts +4 -0
  256. package/dist/timeScale/continuous/continuousTimeScale.d.ts +5 -0
  257. package/dist/timeScale/core/calculateNewScrollOffset.d.ts +3 -0
  258. package/dist/timeScale/core/createTimeScale.d.ts +15 -0
  259. package/dist/timeScale/gridLines/generateTimeGridLines.d.ts +5 -0
  260. package/dist/timeScale/gridLines/getTimeGridStep.d.ts +5 -0
  261. package/dist/timeScale/gridLines/isTimeGridLine.d.ts +7 -0
  262. package/dist/utils/createSelector.d.ts +8 -0
  263. package/dist/utils/throttle.d.ts +8 -0
  264. package/dist/utils/time/isoTimestampToMs.d.ts +8 -0
  265. package/dist/utils/time/localToUtc.d.ts +14 -0
  266. package/dist/utils/time/utcToLocal.d.ts +3 -0
  267. package/package.json +117 -0
@@ -0,0 +1,3 @@
1
+ import { TimeCrosshairLabelFormatterArgs } from './TimeCrosshairLabelFormatter';
2
+ export declare const defaultTimeCrosshairLabelFormatter: ({ utcTs, timeUnit, timeZoneId, }: TimeCrosshairLabelFormatterArgs) => string;
3
+ export default defaultTimeCrosshairLabelFormatter;
@@ -0,0 +1,3 @@
1
+ import { TimeCrosshairLabelConfig, TimeCrosshairLabelConfigComplete, TimeCrosshairLabelTheme } from './TimeCrosshairLabelConfig';
2
+ declare const parseTimeCrosshairLabelConfig: (partialConfig: (false | TimeCrosshairLabelConfig) | undefined, timeCrosshairLabelTheme: TimeCrosshairLabelTheme) => null | TimeCrosshairLabelConfigComplete;
3
+ export default parseTimeCrosshairLabelConfig;
@@ -0,0 +1,14 @@
1
+ import { LineConfig, LineConfigComplete } from '../../../elements/line/LineConfig';
2
+ import { ValueCrosshairLabelConfig, ValueCrosshairLabelConfigComplete, ValueCrosshairLabelTheme } from './valueCrosshairLabel/ValueCrosshairLabelConfig';
3
+ export interface ValueCrosshairConfigComplete {
4
+ line: null | LineConfigComplete;
5
+ label: null | ValueCrosshairLabelConfigComplete;
6
+ }
7
+ export interface ValueCrosshairConfig {
8
+ line?: false | LineConfig;
9
+ label?: false | ValueCrosshairLabelConfig;
10
+ }
11
+ export interface ValueCrosshairTheme {
12
+ line: LineConfigComplete;
13
+ label: ValueCrosshairLabelTheme;
14
+ }
@@ -0,0 +1,3 @@
1
+ import { ValueCrosshairConfig, ValueCrosshairConfigComplete, ValueCrosshairTheme } from './ValueCrosshairConfig';
2
+ declare const parseValueCrosshairConfig: (partialConfig: (false | ValueCrosshairConfig) | undefined, valueCrosshairTheme: ValueCrosshairTheme) => null | ValueCrosshairConfigComplete;
3
+ export default parseValueCrosshairConfig;
@@ -0,0 +1,5 @@
1
+ import { BoxedValueLabelConfig, BoxedValueLabelConfigComplete, BoxedValueLabelTheme } from '../../../../elements/boxedValueLabel/BoxedValueLabelConfig';
2
+ export type ValueCrosshairLabelConfigComplete = BoxedValueLabelConfigComplete;
3
+ export type ValueCrosshairLabelConfig = BoxedValueLabelConfig;
4
+ export type ValueCrosshairLabelTheme = BoxedValueLabelTheme;
5
+ export declare const valueCrosshairLabelDefaults: BoxedValueLabelConfigComplete;
@@ -0,0 +1,3 @@
1
+ import { ValueCrosshairLabelConfig, ValueCrosshairLabelConfigComplete, ValueCrosshairLabelTheme } from './ValueCrosshairLabelConfig';
2
+ declare const parseValueCrosshairLabelConfig: (partialConfig: (false | ValueCrosshairLabelConfig) | undefined, valueCrosshairLabelTheme: ValueCrosshairLabelTheme, backgroundColor?: string) => null | ValueCrosshairLabelConfigComplete;
3
+ export default parseValueCrosshairLabelConfig;
@@ -0,0 +1,13 @@
1
+ import { LineConfig, LineConfigComplete } from '../../elements/line/LineConfig';
2
+ export interface GridConfigComplete {
3
+ time: null | LineConfigComplete;
4
+ value: null | LineConfigComplete;
5
+ }
6
+ export interface GridConfig {
7
+ time?: false | LineConfig;
8
+ value?: false | LineConfig;
9
+ }
10
+ export interface GridTheme {
11
+ time: LineConfigComplete;
12
+ value: LineConfigComplete;
13
+ }
@@ -0,0 +1,3 @@
1
+ import { GridConfig, GridConfigComplete, GridTheme } from './GridConfig';
2
+ declare const parseGridConfig: (partialConfig: (false | GridConfig) | undefined, gridTheme: GridTheme) => null | GridConfigComplete;
3
+ export default parseGridConfig;
@@ -0,0 +1,4 @@
1
+ import { Theme } from '../../domain/types/Theme';
2
+ import { ChartConfigComplete, ChartConfig } from './ChartConfig';
3
+ declare const parseChartConfig: (partialConfig: ChartConfig, theme: Theme, defaultTimeZoneId: string) => ChartConfigComplete;
4
+ export default parseChartConfig;
@@ -0,0 +1,23 @@
1
+ import { LineConfig, LineConfigComplete } from '../../elements/line/LineConfig';
2
+ import { TimeLabelConfig, TimeLabelConfigComplete } from '../../elements/timeLabel/TimeLabelConfig';
3
+ export interface XAxisConfigComplete {
4
+ height: number;
5
+ border: null | LineConfigComplete;
6
+ minorLabels: null | TimeLabelConfigComplete;
7
+ majorLabels: null | TimeLabelConfigComplete;
8
+ timeZoneId: null | string;
9
+ }
10
+ export interface XAxisConfig {
11
+ height?: number;
12
+ border?: false | LineConfig;
13
+ minorLabels?: false | TimeLabelConfig;
14
+ majorLabels?: false | TimeLabelConfig;
15
+ timeZoneId?: string;
16
+ }
17
+ export interface XAxisTheme {
18
+ height: number;
19
+ border: LineConfigComplete;
20
+ minorLabels: Omit<TimeLabelConfigComplete, 'formatter'>;
21
+ majorLabels: Omit<TimeLabelConfigComplete, 'formatter'>;
22
+ }
23
+ export declare const xAxisDefaults: Pick<XAxisConfigComplete, 'height'>;
@@ -0,0 +1,3 @@
1
+ import { XAxisConfigComplete, XAxisConfig, XAxisTheme } from './XAxisConfig';
2
+ declare const parseXAxisConfig: (partialConfig: (false | XAxisConfig) | undefined, timeAxisTheme: XAxisTheme, defaultTimeZoneId?: string) => null | XAxisConfigComplete;
3
+ export default parseXAxisConfig;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * react-candlesticks, trendingcandles.com
3
+ *
4
+ * Copyright (c) 2026 Jason Wilson
5
+ * Licensed under the MIT License (see LICENSE file in the project root).
6
+ */
7
+ export interface BarConfigComplete {
8
+ width: number;
9
+ backgroundColor: string;
10
+ borderColor: string;
11
+ borderWidth: number;
12
+ }
13
+ export interface BarConfig {
14
+ width?: number;
15
+ backgroundColor?: string;
16
+ borderColor?: string;
17
+ borderWidth?: number;
18
+ }
19
+ export type BarTheme = BarConfigComplete;
20
+ export declare const barDefaults: BarConfigComplete;
@@ -0,0 +1,17 @@
1
+ import { BarConfig, BarConfigComplete } from './BarConfig';
2
+ export interface DirectionalBarConfigComplete {
3
+ up: BarConfigComplete;
4
+ down: BarConfigComplete;
5
+ flat: BarConfigComplete;
6
+ }
7
+ export interface DirectionalBarConfig {
8
+ up?: BarConfig;
9
+ down?: BarConfig;
10
+ flat?: BarConfig;
11
+ }
12
+ export type DirectionalBarTheme = DirectionalBarConfigComplete;
13
+ export declare const directionalBarDefaults: {
14
+ up: BarConfigComplete;
15
+ down: BarConfigComplete;
16
+ flat: BarConfigComplete;
17
+ };
@@ -0,0 +1,3 @@
1
+ import { BarConfig, BarConfigComplete } from './BarConfig';
2
+ declare const parseBarConfig: (partialConfig?: false | BarConfig, defaults?: BarConfig) => null | BarConfigComplete;
3
+ export default parseBarConfig;
@@ -0,0 +1,3 @@
1
+ import { DirectionalBarConfig, DirectionalBarConfigComplete } from './DirectionalBarConfig';
2
+ declare const parseDirectionalBarConfig: (partialConfig?: false | DirectionalBarConfig, defaults?: DirectionalBarConfig) => null | DirectionalBarConfigComplete;
3
+ export default parseDirectionalBarConfig;
@@ -0,0 +1,23 @@
1
+ import { TimeLabelConfig, TimeLabelConfigComplete, TimeLabelTheme } from '../timeLabel/TimeLabelConfig';
2
+ export interface BoxedTimeLabelConfigComplete extends TimeLabelConfigComplete {
3
+ backgroundColor: string;
4
+ borderWidth: number;
5
+ borderColor: string;
6
+ hPadding: number;
7
+ vPadding: number;
8
+ }
9
+ export interface BoxedTimeLabelConfig extends TimeLabelConfig {
10
+ backgroundColor?: string;
11
+ borderWidth?: number;
12
+ borderColor?: string;
13
+ hPadding?: number;
14
+ vPadding?: number;
15
+ }
16
+ export interface BoxedTimeLabelTheme extends TimeLabelTheme {
17
+ backgroundColor: string;
18
+ borderWidth: number;
19
+ borderColor: string;
20
+ hPadding: number;
21
+ vPadding: number;
22
+ }
23
+ export declare const boxedTimeLabelDefaults: BoxedTimeLabelConfigComplete;
@@ -0,0 +1,3 @@
1
+ import { BoxedTimeLabelConfigComplete, BoxedTimeLabelConfig, BoxedTimeLabelTheme } from './BoxedTimeLabelConfig';
2
+ declare const parseBoxedTimeLabelConfig: (partialConfig: (false | BoxedTimeLabelConfig) | undefined, boxedTimeLabelTheme: BoxedTimeLabelTheme) => null | BoxedTimeLabelConfigComplete;
3
+ export default parseBoxedTimeLabelConfig;
@@ -0,0 +1,23 @@
1
+ import { ValueLabelConfig, ValueLabelConfigComplete, ValueLabelTheme } from '../valueLabel/ValueLabelConfig';
2
+ export interface BoxedValueLabelConfigComplete extends ValueLabelConfigComplete {
3
+ backgroundColor: string;
4
+ borderWidth: number;
5
+ borderColor: string;
6
+ hPadding: number;
7
+ vPadding: number;
8
+ }
9
+ export interface BoxedValueLabelConfig extends ValueLabelConfig {
10
+ backgroundColor?: string;
11
+ borderWidth?: number;
12
+ borderColor?: string;
13
+ hPadding?: number;
14
+ vPadding?: number;
15
+ }
16
+ export interface BoxedValueLabelTheme extends ValueLabelTheme {
17
+ backgroundColor: string;
18
+ borderWidth: number;
19
+ borderColor: string;
20
+ hPadding: number;
21
+ vPadding: number;
22
+ }
23
+ export declare const boxedValueLabelDefaults: BoxedValueLabelConfigComplete;
@@ -0,0 +1,3 @@
1
+ import { BoxedValueLabelConfig, BoxedValueLabelConfigComplete, BoxedValueLabelTheme } from './BoxedValueLabelConfig';
2
+ declare const parseBoxedValueLabelConfig: (partialConfig: (false | BoxedValueLabelConfig) | undefined, boxedValueLabelTheme: BoxedValueLabelTheme, backgroundColor?: string) => null | BoxedValueLabelConfigComplete;
3
+ export default parseBoxedValueLabelConfig;
@@ -0,0 +1,21 @@
1
+ import { LabelConfig, LabelConfigComplete, LabelTheme } from '../label/LabelConfig';
2
+ export interface ButtonConfigComplete extends LabelConfigComplete {
3
+ backgroundColor: string;
4
+ borderWidth: number;
5
+ borderColor: string;
6
+ borderRadius: number;
7
+ }
8
+ export interface ButtonConfig extends LabelConfig {
9
+ backgroundColor?: string;
10
+ borderWidth?: number;
11
+ borderColor?: string;
12
+ borderRadius?: number;
13
+ }
14
+ export interface ButtonTheme extends LabelTheme {
15
+ backgroundColor: string;
16
+ borderWidth: number;
17
+ borderColor: string;
18
+ borderRadius: number;
19
+ }
20
+ export declare const buttonDefaults: ButtonConfigComplete;
21
+ export declare const themeDefaultButton: ButtonTheme;
@@ -0,0 +1,3 @@
1
+ import { ButtonConfig, ButtonConfigComplete, ButtonTheme } from './ButtonConfig';
2
+ declare const parseButtonConfig: (partialConfig: (false | ButtonConfig) | undefined, buttonTheme: ButtonTheme) => null | ButtonConfigComplete;
3
+ export default parseButtonConfig;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * react-candlesticks, trendingcandles.com
3
+ *
4
+ * Copyright (c) 2026 Jason Wilson
5
+ * Licensed under the MIT License (see LICENSE file in the project root).
6
+ */
7
+ export type FontStyle = 'normal' | 'italic' | 'oblique';
8
+ export type FontVariant = 'normal' | 'small-caps';
9
+ export type FontWeight = 'normal' | 'bold' | 'bolder' | 'lighter' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;
@@ -0,0 +1,27 @@
1
+ import { FontStyle, FontVariant, FontWeight } from './Font';
2
+ export interface LabelConfigComplete {
3
+ color: string;
4
+ fontFamily: string;
5
+ fontSize: number;
6
+ fontWeight: FontWeight;
7
+ fontVariant: FontVariant;
8
+ fontStyle: FontStyle;
9
+ }
10
+ export interface LabelConfig {
11
+ color?: string;
12
+ fontFamily?: string;
13
+ fontSize?: number;
14
+ fontWeight?: FontWeight;
15
+ fontVariant?: FontVariant;
16
+ fontStyle?: FontStyle;
17
+ }
18
+ export type LabelTheme = LabelConfigComplete;
19
+ export declare const labelDefaults: LabelConfigComplete;
20
+ export declare const themeDefaultLabel: {
21
+ color: string;
22
+ fontFamily: string;
23
+ fontSize: number;
24
+ fontWeight: FontWeight;
25
+ fontVariant: FontVariant;
26
+ fontStyle: FontStyle;
27
+ };
@@ -0,0 +1,3 @@
1
+ import { LabelConfigComplete, LabelConfig, LabelTheme } from './LabelConfig';
2
+ declare const parseLabelConfig: (partialConfig: LabelConfig | undefined, labelTheme: LabelTheme) => LabelConfigComplete;
3
+ export default parseLabelConfig;
@@ -0,0 +1,17 @@
1
+ import { LineConfig, LineConfigComplete } from './LineConfig';
2
+ export interface DirectionalLineConfigComplete {
3
+ up: LineConfigComplete;
4
+ down: LineConfigComplete;
5
+ flat: LineConfigComplete;
6
+ }
7
+ export interface DirectionalLineConfig {
8
+ up?: LineConfig;
9
+ down?: LineConfig;
10
+ flat?: LineConfig;
11
+ }
12
+ export type DirectionalLineTheme = DirectionalLineConfigComplete;
13
+ export declare const directionalLineDefaults: {
14
+ up: LineConfigComplete;
15
+ down: LineConfigComplete;
16
+ flat: LineConfigComplete;
17
+ };
@@ -0,0 +1,28 @@
1
+ /**
2
+ * react-candlesticks, trendingcandles.com
3
+ *
4
+ * Copyright (c) 2026 Jason Wilson
5
+ * Licensed under the MIT License (see LICENSE file in the project root).
6
+ */
7
+ export interface LineConfigComplete {
8
+ color: string;
9
+ style: 'solid' | 'dashed';
10
+ width: number;
11
+ dashes?: number[];
12
+ endDotSize?: number;
13
+ }
14
+ export interface LineConfig {
15
+ color?: string;
16
+ style?: 'solid' | 'dashed';
17
+ width?: number;
18
+ dashes?: number[];
19
+ endDotSize?: number;
20
+ }
21
+ export type LineTheme = LineConfigComplete;
22
+ export declare const lineDefaults: {
23
+ color: string;
24
+ style: "solid";
25
+ width: number;
26
+ dashes: number[];
27
+ endDotSize: number;
28
+ };
@@ -0,0 +1,3 @@
1
+ import { DirectionalLineConfig, DirectionalLineConfigComplete, DirectionalLineTheme } from './DirectionalLineConfig';
2
+ declare const parseDirectionalLineConfig: (partialConfig?: false | DirectionalLineConfig, directionLineTheme?: DirectionalLineTheme) => null | DirectionalLineConfigComplete;
3
+ export default parseDirectionalLineConfig;
@@ -0,0 +1,3 @@
1
+ import { LineConfig, LineConfigComplete, LineTheme } from './LineConfig';
2
+ declare const parseLineConfig: (partialConfig?: false | LineConfig, lineTheme?: LineTheme, color?: string) => null | LineConfigComplete;
3
+ export default parseLineConfig;
@@ -0,0 +1,14 @@
1
+ import { LabelConfig, LabelConfigComplete, LabelTheme } from '../label/LabelConfig';
2
+ import { TimeLabelFormatter } from './TimeLabelFormatter';
3
+ export interface TimeLabelConfigComplete extends LabelConfigComplete {
4
+ top: number;
5
+ formatter: TimeLabelFormatter;
6
+ }
7
+ export interface TimeLabelConfig extends LabelConfig {
8
+ top?: number;
9
+ formatter?: TimeLabelFormatter;
10
+ }
11
+ export interface TimeLabelTheme extends LabelTheme {
12
+ top: number;
13
+ }
14
+ export declare const timeLabelDefaults: TimeLabelConfigComplete;
@@ -0,0 +1,9 @@
1
+ import { TimeUnit } from '../../../domain/types/TimeUnit';
2
+ export type TimeLabelKind = 'minor' | 'major';
3
+ export interface TimeLabelFormatterArgs {
4
+ utcTs: number;
5
+ timeUnit: TimeUnit;
6
+ kind: TimeLabelKind;
7
+ timeZoneId?: string | null;
8
+ }
9
+ export type TimeLabelFormatter = (args: TimeLabelFormatterArgs) => string;
@@ -0,0 +1,3 @@
1
+ import { TimeLabelFormatterArgs } from './TimeLabelFormatter';
2
+ export declare const defaultTimeLabelFormatter: ({ utcTs, timeUnit, kind, timeZoneId, }: TimeLabelFormatterArgs) => string;
3
+ export default defaultTimeLabelFormatter;
@@ -0,0 +1,3 @@
1
+ import { TimeLabelConfigComplete, TimeLabelConfig, TimeLabelTheme } from './TimeLabelConfig';
2
+ declare const parseTimeLabelConfig: (partialConfig: (false | TimeLabelConfig) | undefined, timeLabelTheme: TimeLabelTheme) => null | TimeLabelConfigComplete;
3
+ export default parseTimeLabelConfig;
@@ -0,0 +1,11 @@
1
+ import { LabelConfig, LabelConfigComplete, LabelTheme } from '../label/LabelConfig';
2
+ export interface ValueLabelConfigComplete extends LabelConfigComplete {
3
+ padding: number;
4
+ }
5
+ export interface ValueLabelConfig extends LabelConfig {
6
+ padding?: number;
7
+ }
8
+ export interface ValueLabelTheme extends LabelTheme {
9
+ padding: number;
10
+ }
11
+ export declare const valueLabelDefaults: ValueLabelConfigComplete;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * react-candlesticks, trendingcandles.com
3
+ *
4
+ * Copyright (c) 2026 Jason Wilson
5
+ * Licensed under the MIT License (see LICENSE file in the project root).
6
+ */
7
+ declare const defaultValueLabelFormatter: (value: number) => string;
8
+ export default defaultValueLabelFormatter;
@@ -0,0 +1,3 @@
1
+ import { ValueLabelConfigComplete, ValueLabelConfig, ValueLabelTheme } from './ValueLabelConfig';
2
+ declare const parseValueLabelConfig: (partialConfig: (false | ValueLabelConfig) | undefined, valueLabelTheme: ValueLabelTheme) => null | ValueLabelConfigComplete;
3
+ export default parseValueLabelConfig;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * react-candlesticks, trendingcandles.com
3
+ *
4
+ * Copyright (c) 2026 Jason Wilson
5
+ * Licensed under the MIT License (see LICENSE file in the project root).
6
+ */
7
+ export { default as Panel } from './panel/Panel';
@@ -0,0 +1,81 @@
1
+ import { LegendConfig, LegendConfigComplete } from '../legend/LegendConfig';
2
+ import { LayerType } from './LayerType';
3
+ import { YAxisConfig, YAxisConfigComplete } from './yAxis/YAxisConfig';
4
+ export type ScaleDomain = 'price' | 'percent' | 'volume' | 'value';
5
+ export type ScaleRange = {
6
+ type: 'auto';
7
+ } | {
8
+ type: 'positive';
9
+ } | {
10
+ type: 'bounded';
11
+ min: number;
12
+ max: number;
13
+ } | {
14
+ type: 'zero-centered';
15
+ };
16
+ export type LayerScale = {
17
+ key: string;
18
+ domain: ScaleDomain;
19
+ range: ScaleRange;
20
+ };
21
+ export type ScalePolicy = 'fixed' | 'expandable' | 'derived';
22
+ export type PriceField = 'open' | 'high' | 'low' | 'close';
23
+ export type VolumeField = 'volume';
24
+ export type LayerOutputRef = {
25
+ layerId: string;
26
+ output: string;
27
+ };
28
+ export type PriceInputSource = {
29
+ key: string;
30
+ source: {
31
+ type: 'price';
32
+ field: PriceField;
33
+ };
34
+ };
35
+ export type VolumeInputSource = {
36
+ key: string;
37
+ source: {
38
+ type: 'volume';
39
+ field: VolumeField;
40
+ };
41
+ };
42
+ export type InputSource = PriceInputSource | VolumeInputSource;
43
+ export type ValueToYFunction = (min: number, max: number, top: number, height: number) => (value: number) => number;
44
+ export interface BaseLayerConfigComplete {
45
+ id: string;
46
+ type: LayerType;
47
+ indicator: boolean;
48
+ defaultScale: LayerScale;
49
+ scale: null | LayerScale;
50
+ scalePolicy: ScalePolicy;
51
+ valueGridLines?: number[];
52
+ valueToY: ValueToYFunction;
53
+ legend: null | LegendConfigComplete;
54
+ yAxis: null | YAxisConfigComplete;
55
+ valueLabelFormatter: (value: number) => string;
56
+ requiredInputKeys: string[];
57
+ inputs: InputSource[];
58
+ outputs: string[];
59
+ period: number;
60
+ offset: number;
61
+ lookback: number | ((period: number) => number);
62
+ calculate: boolean;
63
+ includeInAutoScale: boolean;
64
+ }
65
+ export interface BaseLayerConfig {
66
+ id?: string;
67
+ type: LayerType;
68
+ scale?: LayerScale;
69
+ inputs?: InputSource[];
70
+ outputs?: string[];
71
+ valueGridLines?: number[];
72
+ valueToY?: ValueToYFunction;
73
+ legend?: false | LegendConfig;
74
+ yAxis?: false | YAxisConfig;
75
+ valueLabelFormatter?: (value: number) => string;
76
+ period?: number;
77
+ lookback?: number | ((period: number) => number);
78
+ calculate?: boolean;
79
+ includeInAutoScale?: boolean;
80
+ }
81
+ export declare const baseLayerDefaults: Omit<BaseLayerConfigComplete, 'id' | 'type' | 'defaultScale' | 'scale' | 'scalePolicy' | 'requiredInputKeys' | 'period' | 'valueToY' | 'legend' | 'yAxis'>;
@@ -0,0 +1,17 @@
1
+ import { ChartConfigComplete } from '../chart/ChartConfig';
2
+ import { PanelConfigComplete } from '../panel/PanelConfig';
3
+ import { DataPoint } from '../../domain/types/DataPoint';
4
+ import { Layout } from '../../domain/types/Layout';
5
+ import { ChartMetrics } from '../../domain/types/metrics/ChartMetrics';
6
+ import { LayerMetrics } from '../../domain/types/metrics/LayerMetrics';
7
+ import { PanelMetrics } from '../../domain/types/metrics/PanelMetrics';
8
+ import { LayerConfig, LayerConfigComplete, LayersTheme } from './LayerConfig';
9
+ import { LayerInputSeries } from '../../domain/types/LayersData';
10
+ import { default as ViewportData } from '../../domain/types/ViewportData';
11
+ interface Layer {
12
+ parseConfig: (config: LayerConfig, layersTheme: LayersTheme, panelId: string) => LayerConfigComplete;
13
+ calculate?: ((data: DataPoint[], config: LayerConfigComplete) => DataPoint[]) | null;
14
+ calculate2?: ((layerConfig: LayerConfigComplete, inputs: Record<string, LayerInputSeries>, outputValues: Record<string, Float64Array>, startBarIndex: number, endBarIndex: number) => void) | null;
15
+ draw?: (context: CanvasRenderingContext2D, axesContext: CanvasRenderingContext2D, chartConfig: ChartConfigComplete, panelConfig: PanelConfigComplete, layerConfig: LayerConfigComplete, layout: Layout, viewportData: ViewportData, chartMetrics: ChartMetrics | null, panelMetrics: PanelMetrics, layerMetrics: LayerMetrics) => void;
16
+ }
17
+ export default Layer;
@@ -0,0 +1,24 @@
1
+ import { SmaLayerConfig, SmaLayerConfigComplete, SmaTheme } from '../../layers/sma/SmaLayerConfig';
2
+ import { StochasticLayerConfig, StochasticLayerConfigComplete, StochasticTheme } from '../../layers/stochastic/StochasticLayerConfig';
3
+ import { CandlestickLayerConfig, CandlestickLayerConfigComplete, CandlesticksTheme } from '../../layers/candlesticks/CandlestickLayerConfig';
4
+ import { PriceLineLayerConfig, PriceLineLayerConfigComplete, PriceLineTheme } from '../../layers/priceLine/PriceLineLayerConfig';
5
+ import { VolumeBarsLayerConfig, VolumeBarsLayerConfigComplete, VolumeBarsTheme } from '../../layers/volumeBars/VolumeBarsLayerConfig';
6
+ import { AtrLayerConfig, AtrLayerConfigComplete, AtrTheme } from '../../layers/atr/AtrLayerConfig';
7
+ import { BollingerBandsLayerConfig, BollingerBandsLayerConfigComplete, BollingerBandsTheme } from '../../layers/bollingerBands/BollingerBandsLayerConfig';
8
+ import { EmaLayerConfig, EmaLayerConfigComplete, EmaTheme } from '../../layers/ema/EmaLayerConfig';
9
+ import { MacdLayerConfig, MacdLayerConfigComplete, MacdTheme } from '../../layers/macd/MacdLayerConfig';
10
+ import { RsiLayerConfig, RsiLayerConfigComplete, RsiTheme } from '../../layers/rsi/RsiLayerConfig';
11
+ export type LayerConfigComplete = CandlestickLayerConfigComplete | PriceLineLayerConfigComplete | VolumeBarsLayerConfigComplete | AtrLayerConfigComplete | BollingerBandsLayerConfigComplete | EmaLayerConfigComplete | MacdLayerConfigComplete | RsiLayerConfigComplete | SmaLayerConfigComplete | StochasticLayerConfigComplete;
12
+ export type LayerConfig = CandlestickLayerConfig | PriceLineLayerConfig | VolumeBarsLayerConfig | AtrLayerConfig | BollingerBandsLayerConfig | EmaLayerConfig | MacdLayerConfig | RsiLayerConfig | SmaLayerConfig | StochasticLayerConfig;
13
+ export interface LayersTheme {
14
+ candlesticks: CandlesticksTheme;
15
+ priceLine: PriceLineTheme;
16
+ volumeBars: VolumeBarsTheme;
17
+ atr: AtrTheme;
18
+ bollingerBands: BollingerBandsTheme;
19
+ ema: EmaTheme;
20
+ macd: MacdTheme;
21
+ rsi: RsiTheme;
22
+ sma: SmaTheme;
23
+ stochastic: StochasticTheme;
24
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * react-candlesticks, trendingcandles.com
3
+ *
4
+ * Copyright (c) 2026 Jason Wilson
5
+ * Licensed under the MIT License (see LICENSE file in the project root).
6
+ */
7
+ export type LayerType = 'price:candlesticks' | 'price:line' | 'volume:bars' | 'atr' | 'bollinger-bands' | 'ema' | 'macd' | 'rsi' | 'sma' | 'stochastic';
@@ -0,0 +1,9 @@
1
+ import { PanelConfigComplete } from '../panel/PanelConfig';
2
+ import { LayerScale } from './BaseLayerConfig';
3
+ import { LayerConfigComplete } from './LayerConfig';
4
+ export interface LayersTopology {
5
+ layersInDependencyOrder: LayerConfigComplete[];
6
+ deducedLayerScales: Record<LayerConfigComplete['id'], LayerScale>;
7
+ }
8
+ declare const createLayerTopology: (panels: (PanelConfigComplete | Omit<PanelConfigComplete, "yAxes">)[]) => LayersTopology;
9
+ export default createLayerTopology;
@@ -0,0 +1,4 @@
1
+ import { InputSource, PriceField, VolumeField } from './BaseLayerConfig';
2
+ export type LayerInputField = PriceField | VolumeField;
3
+ export declare const resolveSingleInputSource: (key: string, explicitInputs: InputSource[] | undefined, sourceField: LayerInputField | undefined, defaultInputs: InputSource[]) => InputSource[];
4
+ export declare const sourceFieldToInput: (key: string, field: LayerInputField) => InputSource;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * react-candlesticks, trendingcandles.com
3
+ *
4
+ * Copyright (c) 2026 Jason Wilson
5
+ * Licensed under the MIT License (see LICENSE file in the project root).
6
+ */
7
+ declare const layerComponentNameToLayerTypeMap: {
8
+ readonly CandlesticksLayer: "price:candlesticks";
9
+ readonly PriceLineLayer: "price:line";
10
+ readonly VolumeBarsLayer: "volume:bars";
11
+ readonly ATRLayer: "atr";
12
+ readonly BollingerBandsLayer: "bollinger-bands";
13
+ readonly EMALayer: "ema";
14
+ readonly MACDLayer: "macd";
15
+ readonly RSILayer: "rsi";
16
+ readonly SMALayer: "sma";
17
+ readonly StochasticLayer: "stochastic";
18
+ };
19
+ export default layerComponentNameToLayerTypeMap;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * react-candlesticks, trendingcandles.com
3
+ *
4
+ * Copyright (c) 2026 Jason Wilson
5
+ * Licensed under the MIT License (see LICENSE file in the project root).
6
+ */
7
+ declare const LAYER_COMPONENT_TYPE_KEY: unique symbol;
8
+ export default LAYER_COMPONENT_TYPE_KEY;
@@ -0,0 +1,3 @@
1
+ import { LayerConfig, LayerConfigComplete, LayersTheme } from './LayerConfig';
2
+ declare const parseLayerConfig: (partialConfig: LayerConfig, layersTheme: LayersTheme, panelId: string) => LayerConfigComplete;
3
+ export default parseLayerConfig;
@@ -0,0 +1,3 @@
1
+ import { LayerConfig, LayerConfigComplete, LayersTheme } from './LayerConfig';
2
+ declare const parseLayerConfigs: (partialLayerConfigs: LayerConfig[], layersTheme: LayersTheme, panelId: string) => LayerConfigComplete[];
3
+ export default parseLayerConfigs;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * react-candlesticks, trendingcandles.com
3
+ *
4
+ * Copyright (c) 2026 Jason Wilson
5
+ * Licensed under the MIT License (see LICENSE file in the project root).
6
+ */
7
+ declare const parseLookback: (period: number, lookback?: number | ((period: number) => number)) => number;
8
+ export default parseLookback;
@@ -0,0 +1,3 @@
1
+ import { InputSource } from './BaseLayerConfig';
2
+ declare const validateLayerInputs: (inputs: InputSource[], requiredInputKeys: string[]) => void;
3
+ export default validateLayerInputs;