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.
- package/LICENSE +21 -0
- package/README.md +219 -0
- package/dist/components/Chart/Chart.d.ts +36 -0
- package/dist/components/Chart/ChartWithPropTypes.d.ts +7 -0
- package/dist/components/Chart/chartPropTypes.d.ts +21 -0
- package/dist/components/Chart/index.d.ts +8 -0
- package/dist/components/Chart/parseConfigComponents.d.ts +19 -0
- package/dist/components/ChartCanvases/ChartCanvases.d.ts +26 -0
- package/dist/components/ChartCanvases/index.d.ts +8 -0
- package/dist/components/InteractiveArea/InteractiveArea.d.ts +13 -0
- package/dist/components/InteractiveArea/index.d.ts +8 -0
- package/dist/components/StatefulChart/StatefulChart.d.ts +26 -0
- package/dist/components/StatefulChart/getViewportData.d.ts +6 -0
- package/dist/components/StatefulChart/index.d.ts +8 -0
- package/dist/components/UIs/PanelUIs/Legend/Legend.d.ts +13 -0
- package/dist/components/UIs/PanelUIs/PanelControls/PanelControls.d.ts +13 -0
- package/dist/components/UIs/PanelUIs/PanelUIs.d.ts +16 -0
- package/dist/components/UIs/UIs.d.ts +23 -0
- package/dist/components/index.d.ts +8 -0
- package/dist/config/chart/ChartConfig.d.ts +19 -0
- package/dist/config/chart/borders/BordersConfig.d.ts +21 -0
- package/dist/config/chart/borders/parseBordersConfig.d.ts +3 -0
- package/dist/config/chart/crosshairs/CrosshairsConfig.d.ts +14 -0
- package/dist/config/chart/crosshairs/parseCrosshairsConfig.d.ts +3 -0
- package/dist/config/chart/crosshairs/timeCrosshair/TimeCrosshairConfig.d.ts +14 -0
- package/dist/config/chart/crosshairs/timeCrosshair/parseTimeCrosshairConfig.d.ts +3 -0
- package/dist/config/chart/crosshairs/timeCrosshair/timeCrosshairLabel/CrosshairTimeFormat.d.ts +7 -0
- package/dist/config/chart/crosshairs/timeCrosshair/timeCrosshairLabel/TimeCrosshairLabelConfig.d.ts +10 -0
- package/dist/config/chart/crosshairs/timeCrosshair/timeCrosshairLabel/TimeCrosshairLabelFormatter.d.ts +7 -0
- package/dist/config/chart/crosshairs/timeCrosshair/timeCrosshairLabel/defaultTimeCrosshairLabelFormatter.d.ts +3 -0
- package/dist/config/chart/crosshairs/timeCrosshair/timeCrosshairLabel/parseTimeCrosshairLabelConfig.d.ts +3 -0
- package/dist/config/chart/crosshairs/valueCrosshair/ValueCrosshairConfig.d.ts +14 -0
- package/dist/config/chart/crosshairs/valueCrosshair/parseValueCrosshairConfig.d.ts +3 -0
- package/dist/config/chart/crosshairs/valueCrosshair/valueCrosshairLabel/ValueCrosshairLabelConfig.d.ts +5 -0
- package/dist/config/chart/crosshairs/valueCrosshair/valueCrosshairLabel/parseValueCrosshairLabelConfig.d.ts +3 -0
- package/dist/config/chart/grid/GridConfig.d.ts +13 -0
- package/dist/config/chart/grid/parseGridConfig.d.ts +3 -0
- package/dist/config/chart/parseChartConfig.d.ts +4 -0
- package/dist/config/chart/xAxis/XAxisConfig.d.ts +23 -0
- package/dist/config/chart/xAxis/parseXAxisConfig.d.ts +3 -0
- package/dist/config/elements/bar/BarConfig.d.ts +20 -0
- package/dist/config/elements/bar/DirectionalBarConfig.d.ts +17 -0
- package/dist/config/elements/bar/parseBarConfig.d.ts +3 -0
- package/dist/config/elements/bar/parseDirectionalBarConfig.d.ts +3 -0
- package/dist/config/elements/boxedTimeLabel/BoxedTimeLabelConfig.d.ts +23 -0
- package/dist/config/elements/boxedTimeLabel/parseBoxedTimeLabelConfig.d.ts +3 -0
- package/dist/config/elements/boxedValueLabel/BoxedValueLabelConfig.d.ts +23 -0
- package/dist/config/elements/boxedValueLabel/parseBoxedValueLabelConfig.d.ts +3 -0
- package/dist/config/elements/button/ButtonConfig.d.ts +21 -0
- package/dist/config/elements/button/parseButtonConfig.d.ts +3 -0
- package/dist/config/elements/label/Font.d.ts +9 -0
- package/dist/config/elements/label/LabelConfig.d.ts +27 -0
- package/dist/config/elements/label/parseLabelConfig.d.ts +3 -0
- package/dist/config/elements/line/DirectionalLineConfig.d.ts +17 -0
- package/dist/config/elements/line/LineConfig.d.ts +28 -0
- package/dist/config/elements/line/parseDirectionalLineConfig.d.ts +3 -0
- package/dist/config/elements/line/parseLineConfig.d.ts +3 -0
- package/dist/config/elements/timeLabel/TimeLabelConfig.d.ts +14 -0
- package/dist/config/elements/timeLabel/TimeLabelFormatter.d.ts +9 -0
- package/dist/config/elements/timeLabel/defaultTimeLabelFormatter.d.ts +3 -0
- package/dist/config/elements/timeLabel/parseTimeLabelConfig.d.ts +3 -0
- package/dist/config/elements/valueLabel/ValueLabelConfig.d.ts +11 -0
- package/dist/config/elements/valueLabel/defaultValueLabelFormatter.d.ts +8 -0
- package/dist/config/elements/valueLabel/parseValueLabelConfig.d.ts +3 -0
- package/dist/config/index.d.ts +7 -0
- package/dist/config/layer/BaseLayerConfig.d.ts +81 -0
- package/dist/config/layer/Layer.d.ts +17 -0
- package/dist/config/layer/LayerConfig.d.ts +24 -0
- package/dist/config/layer/LayerType.d.ts +7 -0
- package/dist/config/layer/createLayerTopology.d.ts +9 -0
- package/dist/config/layer/inputSourceShorthand.d.ts +4 -0
- package/dist/config/layer/layerComponentNameToLayerTypeMap.d.ts +19 -0
- package/dist/config/layer/layerComponentTypeKey.d.ts +8 -0
- package/dist/config/layer/parseLayerConfig.d.ts +3 -0
- package/dist/config/layer/parseLayerConfigs.d.ts +3 -0
- package/dist/config/layer/parseLookback.d.ts +8 -0
- package/dist/config/layer/validateLayerInputs.d.ts +3 -0
- package/dist/config/layer/yAxis/YAxisConfig.d.ts +22 -0
- package/dist/config/layer/yAxis/parseYAxisConfig.d.ts +3 -0
- package/dist/config/legend/LegendConfig.d.ts +29 -0
- package/dist/config/legend/LegendFieldConfig.d.ts +31 -0
- package/dist/config/legend/parseLegendConfig.d.ts +4 -0
- package/dist/config/legend/parseLegendFieldConfig.d.ts +3 -0
- package/dist/config/legend/parseLegendFieldsConfig.d.ts +3 -0
- package/dist/config/panel/Panel.d.ts +7 -0
- package/dist/config/panel/PanelConfig.d.ts +30 -0
- package/dist/config/panel/controls/PanelControlsConfig.d.ts +10 -0
- package/dist/config/panel/controls/parsePanelControlsConfig.d.ts +3 -0
- package/dist/config/panel/parsePanelConfig.d.ts +4 -0
- package/dist/config/panel/parsePanelConfigs.d.ts +4 -0
- package/dist/config/panel/setPanelYAxes.d.ts +4 -0
- package/dist/config/utils/validateNumber.d.ts +9 -0
- package/dist/config/valueMarker/DirectionalValueMarkerConfig.d.ts +25 -0
- package/dist/config/valueMarker/ValueMarkerConfig.d.ts +19 -0
- package/dist/config/valueMarker/ValueMarkerMode.d.ts +7 -0
- package/dist/config/valueMarker/parseDirectionalValueMarkerConfig.d.ts +3 -0
- package/dist/config/valueMarker/parseValueMarkerConfig.d.ts +3 -0
- package/dist/data/layers/createLayersData.d.ts +4 -0
- package/dist/data/layers/createPriceVolumeCalculationContext.d.ts +4 -0
- package/dist/data/layers/createPriceVolumeDerivedLayerCalculationContext.d.ts +5 -0
- package/dist/data/layers/updateLayersData.d.ts +7 -0
- package/dist/data/map/buildDataMap.d.ts +9 -0
- package/dist/data/utils/deduceGranulairty.d.ts +4 -0
- package/dist/data/utils/granularityToTimeUnit.d.ts +4 -0
- package/dist/domain/constants/time/days.d.ts +8 -0
- package/dist/domain/constants/time/months.d.ts +8 -0
- package/dist/domain/constants/time/timeDurationsAsMs.d.ts +10 -0
- package/dist/domain/constants/timeZone/timeZones.d.ts +8 -0
- package/dist/domain/types/DataMap.d.ts +18 -0
- package/dist/domain/types/DataPoint.d.ts +14 -0
- package/dist/domain/types/DataPointInfo.d.ts +9 -0
- package/dist/domain/types/DateTimeFormatToken.d.ts +7 -0
- package/dist/domain/types/Granularity.d.ts +7 -0
- package/dist/domain/types/IndexBlock.d.ts +20 -0
- package/dist/domain/types/IndexProvider.d.ts +13 -0
- package/dist/domain/types/LayersData.d.ts +20 -0
- package/dist/domain/types/Layout.d.ts +19 -0
- package/dist/domain/types/LocalDateTime.d.ts +25 -0
- package/dist/domain/types/RawSession.d.ts +14 -0
- package/dist/domain/types/Theme.d.ts +17 -0
- package/dist/domain/types/TimeFormatToken.d.ts +7 -0
- package/dist/domain/types/TimeScale.d.ts +21 -0
- package/dist/domain/types/TimeUnit.d.ts +7 -0
- package/dist/domain/types/ViewportData.d.ts +18 -0
- package/dist/domain/types/gridLine/TimeGridLine.d.ts +7 -0
- package/dist/domain/types/gridLine/TimeGridStep.d.ts +14 -0
- package/dist/domain/types/gridLine/TimeIntervalSpec.d.ts +9 -0
- package/dist/domain/types/metrics/ChartMetrics.d.ts +5 -0
- package/dist/domain/types/metrics/LayerMetrics.d.ts +11 -0
- package/dist/domain/types/metrics/PanelMetrics.d.ts +15 -0
- package/dist/drawing/chart/borders/drawBorders.d.ts +4 -0
- package/dist/drawing/chart/crosshairs/clearChartCrosshairs.d.ts +8 -0
- package/dist/drawing/chart/crosshairs/drawChartCrosshairs.d.ts +13 -0
- package/dist/drawing/chart/crosshairs/drawChartValueCrosshairLabel.d.ts +5 -0
- package/dist/drawing/chart/drawChart.d.ts +9 -0
- package/dist/drawing/chart/grid/time/TimeGridLine.d.ts +11 -0
- package/dist/drawing/chart/grid/time/drawTimeGridLabels.d.ts +6 -0
- package/dist/drawing/chart/grid/time/drawTimeGridLines.d.ts +6 -0
- package/dist/drawing/chart/grid/time/isTimeGridLine.d.ts +3 -0
- package/dist/drawing/chart/grid/value/ValueGridLine.d.ts +10 -0
- package/dist/drawing/chart/grid/value/calculateValueGridLines.d.ts +3 -0
- package/dist/drawing/chart/grid/value/drawValueGridLines.d.ts +7 -0
- package/dist/drawing/chart/grid/value/getDefaultValueGridLines.d.ts +8 -0
- package/dist/drawing/elements/drawBar.d.ts +3 -0
- package/dist/drawing/elements/labels/timeLabel/drawTimeGridLabel.d.ts +4 -0
- package/dist/drawing/elements/labels/valueLabel/drawValueGridLabels.d.ts +9 -0
- package/dist/drawing/elements/line/drawLine.d.ts +8 -0
- package/dist/drawing/elements/line/endDrawLine.d.ts +3 -0
- package/dist/drawing/elements/line/startDrawLine.d.ts +3 -0
- package/dist/drawing/getCanvasContext.d.ts +12 -0
- package/dist/drawing/labels/valueLabel/drawValueGridLabels.d.ts +9 -0
- package/dist/drawing/layer/drawLayer.d.ts +10 -0
- package/dist/drawing/layer/drawLayers.d.ts +11 -0
- package/dist/drawing/panel/drawLayersForScale.d.ts +12 -0
- package/dist/drawing/panel/drawPanel.d.ts +14 -0
- package/dist/drawing/panel/drawPanelBorder.d.ts +9 -0
- package/dist/drawing/panel/drawPanels.d.ts +14 -0
- package/dist/drawing/panel/getPanelYAxes.d.ts +21 -0
- package/dist/drawing/panel/mapLayersByScale.d.ts +4 -0
- package/dist/drawing/valueMarker/drawDirectionalValueMarker.d.ts +12 -0
- package/dist/drawing/valueMarker/drawValueMarker.d.ts +12 -0
- package/dist/drawing/valueMarker/drawValueMarkerLabel.d.ts +13 -0
- package/dist/drawing/valueMarker/drawValueMarkerLine.d.ts +9 -0
- package/dist/exampleData/d1.d.ts +3 -0
- package/dist/exampleData/d1Short.d.ts +3 -0
- package/dist/exampleData/index.d.ts +7 -0
- package/dist/hooks/useDevicePixelRatio.d.ts +8 -0
- package/dist/hooks/useResizeObserver.d.ts +7 -0
- package/dist/index-Bb_QstiX.js +9443 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +21 -0
- package/dist/indexProviders/continuous/createContinuousIndexProvider.d.ts +5 -0
- package/dist/indexProviders/continuous/findClosestIndex.d.ts +3 -0
- package/dist/indexProviders/continuous/getKnownBars.d.ts +6 -0
- package/dist/indexProviders/continuous/indexToTimestamp.d.ts +3 -0
- package/dist/indexProviders/continuous/lowerBound.d.ts +8 -0
- package/dist/indexProviders/continuous/timestampToBarIndex.d.ts +3 -0
- package/dist/layers/atr/ATRLayer.d.ts +8 -0
- package/dist/layers/atr/AtrLayerConfig.d.ts +44 -0
- package/dist/layers/atr/calc.d.ts +4 -0
- package/dist/layers/atr/draw.d.ts +10 -0
- package/dist/layers/atr/index.d.ts +5 -0
- package/dist/layers/atr/parse.d.ts +4 -0
- package/dist/layers/bollingerBands/BollingerBandsLayer.d.ts +8 -0
- package/dist/layers/bollingerBands/BollingerBandsLayerConfig.d.ts +65 -0
- package/dist/layers/bollingerBands/calc.d.ts +4 -0
- package/dist/layers/bollingerBands/draw.d.ts +10 -0
- package/dist/layers/bollingerBands/index.d.ts +5 -0
- package/dist/layers/bollingerBands/parse.d.ts +4 -0
- package/dist/layers/candlesticks/CandlestickLayerConfig.d.ts +42 -0
- package/dist/layers/candlesticks/CandlesticksLayer.d.ts +8 -0
- package/dist/layers/candlesticks/calc.d.ts +5 -0
- package/dist/layers/candlesticks/draw/_debugDrawEmptyCandle.d.ts +8 -0
- package/dist/layers/candlesticks/draw/draw.d.ts +10 -0
- package/dist/layers/candlesticks/draw/drawCandleBody.d.ts +3 -0
- package/dist/layers/candlesticks/draw/drawCandleWick.d.ts +3 -0
- package/dist/layers/candlesticks/draw/drawCandlestick.d.ts +4 -0
- package/dist/layers/candlesticks/index.d.ts +5 -0
- package/dist/layers/candlesticks/parse.d.ts +4 -0
- package/dist/layers/ema/EMALayer.d.ts +8 -0
- package/dist/layers/ema/EmaLayerConfig.d.ts +42 -0
- package/dist/layers/ema/calc.d.ts +4 -0
- package/dist/layers/ema/draw.d.ts +10 -0
- package/dist/layers/ema/index.d.ts +5 -0
- package/dist/layers/ema/parse.d.ts +4 -0
- package/dist/layers/index.d.ts +11 -0
- package/dist/layers/layers.d.ts +4 -0
- package/dist/layers/macd/MACDLayer.d.ts +8 -0
- package/dist/layers/macd/MacdLayerConfig.d.ts +61 -0
- package/dist/layers/macd/calc.d.ts +4 -0
- package/dist/layers/macd/draw.d.ts +10 -0
- package/dist/layers/macd/index.d.ts +5 -0
- package/dist/layers/macd/parse.d.ts +4 -0
- package/dist/layers/priceLine/PriceLineLayer.d.ts +8 -0
- package/dist/layers/priceLine/PriceLineLayerConfig.d.ts +39 -0
- package/dist/layers/priceLine/calc.d.ts +5 -0
- package/dist/layers/priceLine/draw.d.ts +10 -0
- package/dist/layers/priceLine/index.d.ts +5 -0
- package/dist/layers/priceLine/parse.d.ts +4 -0
- package/dist/layers/rsi/RSILayer.d.ts +8 -0
- package/dist/layers/rsi/RsiLayerConfig.d.ts +40 -0
- package/dist/layers/rsi/calc.d.ts +4 -0
- package/dist/layers/rsi/draw.d.ts +10 -0
- package/dist/layers/rsi/index.d.ts +5 -0
- package/dist/layers/rsi/parse.d.ts +4 -0
- package/dist/layers/sma/SMALayer.d.ts +8 -0
- package/dist/layers/sma/SmaLayerConfig.d.ts +42 -0
- package/dist/layers/sma/calc.d.ts +4 -0
- package/dist/layers/sma/draw.d.ts +10 -0
- package/dist/layers/sma/index.d.ts +5 -0
- package/dist/layers/sma/parse.d.ts +4 -0
- package/dist/layers/stochastic/StochasticLayer.d.ts +8 -0
- package/dist/layers/stochastic/StochasticLayerConfig.d.ts +56 -0
- package/dist/layers/stochastic/calc.d.ts +4 -0
- package/dist/layers/stochastic/draw.d.ts +10 -0
- package/dist/layers/stochastic/index.d.ts +5 -0
- package/dist/layers/stochastic/parse.d.ts +4 -0
- package/dist/layers/volumeBars/VolumeBarsLayer.d.ts +8 -0
- package/dist/layers/volumeBars/VolumeBarsLayerConfig.d.ts +38 -0
- package/dist/layers/volumeBars/calc.d.ts +5 -0
- package/dist/layers/volumeBars/draw/draw.d.ts +10 -0
- package/dist/layers/volumeBars/draw/drawVolumeBar.d.ts +3 -0
- package/dist/layers/volumeBars/index.d.ts +5 -0
- package/dist/layers/volumeBars/parse.d.ts +4 -0
- package/dist/layout/getLayout.d.ts +5 -0
- package/dist/metrics/chart/calculateChartMetrics.d.ts +5 -0
- package/dist/metrics/layer/calculateLayerMetrics.d.ts +8 -0
- package/dist/metrics/layer/getIndicatorScalingValues.d.ts +3 -0
- package/dist/metrics/layer/getMinAndMaxValues.d.ts +8 -0
- package/dist/propTypes.d.ts +15 -0
- package/dist/propTypes.js +77 -0
- package/dist/react-candlesticks.css +6 -0
- package/dist/themes/defaultDarkTheme.d.ts +3 -0
- package/dist/themes/defaultLightTheme.d.ts +3 -0
- package/dist/themes/themes.d.ts +4 -0
- package/dist/timeScale/continuous/continuousTimeScale.d.ts +5 -0
- package/dist/timeScale/core/calculateNewScrollOffset.d.ts +3 -0
- package/dist/timeScale/core/createTimeScale.d.ts +15 -0
- package/dist/timeScale/gridLines/generateTimeGridLines.d.ts +5 -0
- package/dist/timeScale/gridLines/getTimeGridStep.d.ts +5 -0
- package/dist/timeScale/gridLines/isTimeGridLine.d.ts +7 -0
- package/dist/utils/createSelector.d.ts +8 -0
- package/dist/utils/throttle.d.ts +8 -0
- package/dist/utils/time/isoTimestampToMs.d.ts +8 -0
- package/dist/utils/time/localToUtc.d.ts +14 -0
- package/dist/utils/time/utcToLocal.d.ts +3 -0
- package/package.json +117 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { LineConfig, LineConfigComplete } from '../../elements/line/LineConfig';
|
|
2
|
+
import { ValueLabelConfig, ValueLabelConfigComplete } from '../../elements/valueLabel/ValueLabelConfig';
|
|
3
|
+
export interface YAxisConfigComplete {
|
|
4
|
+
side: 'left' | 'right';
|
|
5
|
+
width: number;
|
|
6
|
+
border: null | LineConfigComplete;
|
|
7
|
+
labels: null | ValueLabelConfigComplete;
|
|
8
|
+
}
|
|
9
|
+
export interface YAxisConfig {
|
|
10
|
+
side?: 'left' | 'right';
|
|
11
|
+
width?: number;
|
|
12
|
+
border?: false | LineConfig;
|
|
13
|
+
labels?: false | ValueLabelConfig;
|
|
14
|
+
}
|
|
15
|
+
export interface YAxisTheme {
|
|
16
|
+
side: 'left' | 'right';
|
|
17
|
+
width: number;
|
|
18
|
+
border: LineConfigComplete;
|
|
19
|
+
labels: ValueLabelConfigComplete;
|
|
20
|
+
}
|
|
21
|
+
export declare const yAxisDefaults: Pick<YAxisConfigComplete, 'width' | 'side'>;
|
|
22
|
+
export declare const themeDefaultYAxis: YAxisTheme;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { LabelConfig, LabelConfigComplete } from '../elements/label/LabelConfig';
|
|
2
|
+
import { LegendFieldConfig, LegendFieldConfigComplete, LegendFieldTheme } from './LegendFieldConfig';
|
|
3
|
+
export interface LegendConfigComplete extends LabelConfigComplete {
|
|
4
|
+
left: number;
|
|
5
|
+
backgroundColor: string;
|
|
6
|
+
borderWidth: number;
|
|
7
|
+
borderColor: string;
|
|
8
|
+
hPadding: number;
|
|
9
|
+
vPadding: number;
|
|
10
|
+
borderRadius: number;
|
|
11
|
+
label: string;
|
|
12
|
+
fields: LegendFieldConfigComplete[];
|
|
13
|
+
}
|
|
14
|
+
export interface LegendConfig extends LabelConfig {
|
|
15
|
+
left?: number;
|
|
16
|
+
backgroundColor?: string;
|
|
17
|
+
borderWidth?: number;
|
|
18
|
+
borderColor?: string;
|
|
19
|
+
hPadding?: number;
|
|
20
|
+
vPadding?: number;
|
|
21
|
+
borderRadius?: number;
|
|
22
|
+
label?: string;
|
|
23
|
+
fields?: LegendFieldConfig[];
|
|
24
|
+
}
|
|
25
|
+
export interface LegendTheme extends Omit<LegendConfigComplete, 'fields'> {
|
|
26
|
+
fields: LegendFieldTheme[];
|
|
27
|
+
}
|
|
28
|
+
export declare const legendDefaults: Pick<LegendConfigComplete, 'left' | 'hPadding' | 'vPadding' | 'backgroundColor' | 'borderWidth' | 'borderColor' | 'borderRadius' | 'label'>;
|
|
29
|
+
export declare const themeDefaultLegend: Omit<LegendTheme, 'fields'>;
|
|
@@ -0,0 +1,31 @@
|
|
|
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 LegendValueSource = Record<string, unknown>;
|
|
8
|
+
export type LegendValueSelector = (obj: LegendValueSource) => number | undefined;
|
|
9
|
+
export interface LegendFieldConfigComplete {
|
|
10
|
+
output: string;
|
|
11
|
+
label?: string;
|
|
12
|
+
color: string;
|
|
13
|
+
valueSelector: LegendValueSelector;
|
|
14
|
+
}
|
|
15
|
+
export interface LegendFieldConfig {
|
|
16
|
+
output: string;
|
|
17
|
+
label?: string;
|
|
18
|
+
color?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface LegendFieldTheme {
|
|
21
|
+
output: string;
|
|
22
|
+
color: string;
|
|
23
|
+
label?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface LegendFieldConfigDefaultsForLayer {
|
|
26
|
+
output: string;
|
|
27
|
+
label: string;
|
|
28
|
+
color?: string;
|
|
29
|
+
valueSelector: LegendValueSelector;
|
|
30
|
+
}
|
|
31
|
+
export declare const legendFieldDefaults: Omit<LegendFieldConfigComplete, 'output' | 'valueSelector'>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { LegendConfigComplete, LegendConfig, LegendTheme } from './LegendConfig';
|
|
2
|
+
import { LegendFieldConfigDefaultsForLayer } from './LegendFieldConfig';
|
|
3
|
+
declare const parseLegendConfig: (partialConfig: (false | LegendConfig) | undefined, legendTheme: LegendTheme, fieldsDefaultsForLayer: Record<string, LegendFieldConfigDefaultsForLayer>) => null | LegendConfigComplete;
|
|
4
|
+
export default parseLegendConfig;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { LegendFieldConfig, LegendFieldConfigComplete, LegendFieldConfigDefaultsForLayer, LegendFieldTheme } from './LegendFieldConfig';
|
|
2
|
+
declare const parseLegendFieldConfig: (partialConfig: LegendFieldConfig, legendFieldTheme: LegendFieldTheme, fieldsDefaultsForLayer: LegendFieldConfigDefaultsForLayer) => LegendFieldConfigComplete;
|
|
3
|
+
export default parseLegendFieldConfig;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { LegendFieldConfig, LegendFieldConfigComplete, LegendFieldConfigDefaultsForLayer, LegendFieldTheme } from './LegendFieldConfig';
|
|
2
|
+
declare const parseLegendFieldConfigs: (partialConfigs: LegendFieldConfig[] | undefined, legendFieldThemes: LegendFieldTheme[] | undefined, fieldsDefaultsForLayer: Record<string, LegendFieldConfigDefaultsForLayer>) => LegendFieldConfigComplete[];
|
|
3
|
+
export default parseLegendFieldConfigs;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { PanelYAxes } from '../../drawing/panel/getPanelYAxes';
|
|
2
|
+
import { LayerConfig, LayerConfigComplete } from '../../config/layer/LayerConfig';
|
|
3
|
+
import { LineConfig, LineConfigComplete } from '../elements/line/LineConfig';
|
|
4
|
+
import { PanelControlsConfig, PanelControlsConfigComplete, PanelControlsTheme } from './controls/PanelControlsConfig';
|
|
5
|
+
export interface PanelConfigComplete {
|
|
6
|
+
id: string;
|
|
7
|
+
heightRatio: number;
|
|
8
|
+
paddingTop: number;
|
|
9
|
+
paddingBottom: number;
|
|
10
|
+
borderTop: null | LineConfigComplete;
|
|
11
|
+
layers: LayerConfigComplete[];
|
|
12
|
+
controls: PanelControlsConfigComplete;
|
|
13
|
+
yAxes: PanelYAxes;
|
|
14
|
+
}
|
|
15
|
+
export interface PanelConfig {
|
|
16
|
+
id?: string;
|
|
17
|
+
heightRatio?: number;
|
|
18
|
+
paddingTop?: number;
|
|
19
|
+
paddingBottom?: number;
|
|
20
|
+
borderTop?: LineConfig;
|
|
21
|
+
layers: LayerConfig[];
|
|
22
|
+
controls?: PanelControlsConfig;
|
|
23
|
+
}
|
|
24
|
+
export interface PanelTheme {
|
|
25
|
+
paddingTop: number;
|
|
26
|
+
paddingBottom: number;
|
|
27
|
+
borderTop: LineConfigComplete;
|
|
28
|
+
controls: PanelControlsTheme;
|
|
29
|
+
}
|
|
30
|
+
export declare const panelDefaults: Pick<PanelConfigComplete, 'heightRatio' | 'paddingTop' | 'paddingBottom'>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ButtonConfig, ButtonConfigComplete, ButtonTheme } from '../../elements/button/ButtonConfig';
|
|
2
|
+
export interface PanelControlsConfigComplete {
|
|
3
|
+
goToLatestButton: null | ButtonConfigComplete;
|
|
4
|
+
}
|
|
5
|
+
export interface PanelControlsConfig {
|
|
6
|
+
goToLatestButton?: false | ButtonConfig;
|
|
7
|
+
}
|
|
8
|
+
export interface PanelControlsTheme {
|
|
9
|
+
goToLatestButton: ButtonTheme;
|
|
10
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { PanelControlsConfig, PanelControlsConfigComplete, PanelControlsTheme } from './PanelControlsConfig';
|
|
2
|
+
declare const parsePanelControlsConfig: (partialConfig: PanelControlsConfig, panelControlsTheme: PanelControlsTheme) => PanelControlsConfigComplete;
|
|
3
|
+
export default parsePanelControlsConfig;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Theme } from '../../domain/types/Theme';
|
|
2
|
+
import { PanelConfig, PanelConfigComplete } from './PanelConfig';
|
|
3
|
+
declare const parsePanelConfig: (partialConfig: PanelConfig, theme: Theme, panelIndex: number) => Omit<PanelConfigComplete, "yAxes">;
|
|
4
|
+
export default parsePanelConfig;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Theme } from '../../domain/types/Theme';
|
|
2
|
+
import { PanelConfig, PanelConfigComplete } from './PanelConfig';
|
|
3
|
+
declare const parsePanelConfigs: (partialPanelConfigs: readonly [PanelConfig, ...PanelConfig[]], theme: Theme) => Omit<PanelConfigComplete, "yAxes">[];
|
|
4
|
+
export default parsePanelConfigs;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { LayersTopology } from '../../config/layer/createLayerTopology';
|
|
2
|
+
import { PanelConfigComplete } from './PanelConfig';
|
|
3
|
+
declare const setPanelYAxes: (panelConfigsWithoutYAxes: Omit<PanelConfigComplete, "yAxes">[], layersTopology: LayersTopology) => PanelConfigComplete[];
|
|
4
|
+
export default setPanelYAxes;
|
|
@@ -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 declare const assertFiniteNumber: (value: number, label: string) => number;
|
|
8
|
+
export declare const assertNonNegativeNumber: (value: number, label: string) => number;
|
|
9
|
+
export declare const assertPositiveNumber: (value: number, label: string) => number;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ValueMarkerMode } from './ValueMarkerMode';
|
|
2
|
+
import { ValueMarkerConfig, ValueMarkerConfigComplete, ValueMarkerTheme } from './ValueMarkerConfig';
|
|
3
|
+
export interface DirectionalValueMarkerConfigComplete {
|
|
4
|
+
mode: ValueMarkerMode;
|
|
5
|
+
showLine: boolean;
|
|
6
|
+
showLabel: boolean;
|
|
7
|
+
up: Omit<ValueMarkerConfigComplete, 'mode'>;
|
|
8
|
+
down: Omit<ValueMarkerConfigComplete, 'mode'>;
|
|
9
|
+
flat: Omit<ValueMarkerConfigComplete, 'mode'>;
|
|
10
|
+
}
|
|
11
|
+
export interface DirectionalValueMarkerConfig {
|
|
12
|
+
mode?: ValueMarkerMode;
|
|
13
|
+
showLine?: boolean;
|
|
14
|
+
showLabel?: boolean;
|
|
15
|
+
up?: Omit<ValueMarkerConfig, 'mode'>;
|
|
16
|
+
down?: Omit<ValueMarkerConfig, 'mode'>;
|
|
17
|
+
flat?: Omit<ValueMarkerConfig, 'mode'>;
|
|
18
|
+
}
|
|
19
|
+
export interface DirectionalValueMarkerTheme {
|
|
20
|
+
up: ValueMarkerTheme;
|
|
21
|
+
down: ValueMarkerTheme;
|
|
22
|
+
flat: ValueMarkerTheme;
|
|
23
|
+
}
|
|
24
|
+
export declare const directionalValueMarkerDefaults: Pick<DirectionalValueMarkerConfigComplete, 'mode' | 'showLine' | 'showLabel'>;
|
|
25
|
+
export declare const themeDefaultDirectionalValueMarker: DirectionalValueMarkerTheme;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BoxedValueLabelConfig, BoxedValueLabelConfigComplete } from '../elements/boxedValueLabel/BoxedValueLabelConfig';
|
|
2
|
+
import { LineConfig, LineConfigComplete } from '../elements/line/LineConfig';
|
|
3
|
+
import { ValueMarkerMode } from './ValueMarkerMode';
|
|
4
|
+
export interface ValueMarkerConfigComplete {
|
|
5
|
+
mode: ValueMarkerMode;
|
|
6
|
+
line: null | LineConfigComplete;
|
|
7
|
+
label: null | BoxedValueLabelConfigComplete;
|
|
8
|
+
}
|
|
9
|
+
export interface ValueMarkerConfig {
|
|
10
|
+
mode?: ValueMarkerMode;
|
|
11
|
+
line?: false | LineConfig;
|
|
12
|
+
label?: false | BoxedValueLabelConfig;
|
|
13
|
+
}
|
|
14
|
+
export interface ValueMarkerTheme {
|
|
15
|
+
line: LineConfigComplete;
|
|
16
|
+
label: BoxedValueLabelConfigComplete;
|
|
17
|
+
}
|
|
18
|
+
export declare const valueMarkerDefaults: Pick<ValueMarkerConfigComplete, 'mode' | 'line'>;
|
|
19
|
+
export declare const themeDefaultValueMarker: ValueMarkerTheme;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { DirectionalValueMarkerConfig, DirectionalValueMarkerConfigComplete, DirectionalValueMarkerTheme } from './DirectionalValueMarkerConfig';
|
|
2
|
+
declare const parseDirectionalValueMarkerConfig: (partialConfig?: false | DirectionalValueMarkerConfig, defaults?: DirectionalValueMarkerTheme) => null | DirectionalValueMarkerConfigComplete;
|
|
3
|
+
export default parseDirectionalValueMarkerConfig;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { ValueMarkerConfig, ValueMarkerConfigComplete, ValueMarkerTheme } from './ValueMarkerConfig';
|
|
2
|
+
declare const parseValueMarkerConfig: (partialConfig?: false | ValueMarkerConfig, valueMarkerTheme?: ValueMarkerTheme, color?: string) => null | ValueMarkerConfigComplete;
|
|
3
|
+
export default parseValueMarkerConfig;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { LayersTopology } from '../../config/layer/createLayerTopology';
|
|
2
|
+
import { LayerConfigComplete } from '../../config/layer/LayerConfig';
|
|
3
|
+
import { LayersData } from '../../domain/types/LayersData';
|
|
4
|
+
export declare const createLayersData: (layers: LayerConfigComplete[], layersTopology: LayersTopology, barsLength: number) => LayersData;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { DataMap } from '../../domain/types/DataMap';
|
|
2
|
+
import { LayersData } from '../../domain/types/LayersData';
|
|
3
|
+
import { CalculationContext } from './updateLayersData';
|
|
4
|
+
declare const createPriceVolumeDerivedLayerCalculationContext: (dataMap: DataMap, layersData: LayersData) => CalculationContext;
|
|
5
|
+
export default createPriceVolumeDerivedLayerCalculationContext;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { InputSource } from '../../config/layer/BaseLayerConfig';
|
|
2
|
+
import { DataMap } from '../../domain/types/DataMap';
|
|
3
|
+
import { LayerInputSeries, LayersData } from '../../domain/types/LayersData';
|
|
4
|
+
export interface CalculationContext {
|
|
5
|
+
resolve(input: InputSource): LayerInputSeries | null;
|
|
6
|
+
}
|
|
7
|
+
export declare const updateLayersData: (layersData: LayersData, dataMap: DataMap, startBarIndex: number, endBarIndex: number) => void;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DataPoint } from '../../domain/types/DataPoint';
|
|
2
|
+
import { Granularity } from '../../domain/types/Granularity';
|
|
3
|
+
import { IndexBlock } from '../../domain/types/IndexBlock';
|
|
4
|
+
import { DataMap } from '../../domain/types/DataMap';
|
|
5
|
+
export interface BuildDataMapOptions {
|
|
6
|
+
weekStartDay?: number;
|
|
7
|
+
}
|
|
8
|
+
declare const buildDataMap: (data: DataPoint[], granularity: Granularity, blocks: IndexBlock[], options?: BuildDataMapOptions) => DataMap;
|
|
9
|
+
export default buildDataMap;
|
|
@@ -0,0 +1,10 @@
|
|
|
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 declare const MINUTE_MS = 60000;
|
|
8
|
+
export declare const HOUR_MS = 3600000;
|
|
9
|
+
export declare const DAY_MS = 86400000;
|
|
10
|
+
export declare const WEEK_MS: number;
|
|
@@ -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
|
+
export declare const allTimeZones: () => string[];
|
|
8
|
+
export declare const timeZones: () => string[];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { DataPoint } from './DataPoint';
|
|
2
|
+
import { Granularity } from './Granularity';
|
|
3
|
+
export interface OHLCVData {
|
|
4
|
+
timestamp: Float64Array;
|
|
5
|
+
timeLabel: Float64Array;
|
|
6
|
+
open: Float64Array;
|
|
7
|
+
high: Float64Array;
|
|
8
|
+
low: Float64Array;
|
|
9
|
+
close: Float64Array;
|
|
10
|
+
volume: Float64Array;
|
|
11
|
+
}
|
|
12
|
+
export interface DataMap {
|
|
13
|
+
granularity: Granularity;
|
|
14
|
+
rawData: DataPoint[];
|
|
15
|
+
dataIndexByBar: Int32Array;
|
|
16
|
+
ohlcvs: OHLCVData;
|
|
17
|
+
lastBarWithDataIndex?: number;
|
|
18
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
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 DataPoint {
|
|
8
|
+
time: string;
|
|
9
|
+
open: number;
|
|
10
|
+
high: number;
|
|
11
|
+
low: number;
|
|
12
|
+
close: number;
|
|
13
|
+
volume: number;
|
|
14
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { LayerDataInstance } from './LayersData';
|
|
2
|
+
import { OHLCVData } from './DataMap';
|
|
3
|
+
export interface DataPointInfo {
|
|
4
|
+
x: number;
|
|
5
|
+
barIndex: number;
|
|
6
|
+
ohlcvs: OHLCVData;
|
|
7
|
+
layerDataInstances: Record<string, LayerDataInstance>;
|
|
8
|
+
}
|
|
9
|
+
export default DataPointInfo;
|
|
@@ -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 Granularity = 'm1' | 'm2' | 'm3' | 'm5' | 'm10' | 'm15' | 'm30' | 'h1' | 'h2' | 'h4' | 'd1' | 'w1' | 'M1';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { RawSession } from './RawSession';
|
|
2
|
+
/**
|
|
3
|
+
* one contiguous region of constant sized bars
|
|
4
|
+
* this is your lookup table
|
|
5
|
+
*/
|
|
6
|
+
export type IndexBlock = {
|
|
7
|
+
session: RawSession | null;
|
|
8
|
+
sessions?: RawSession[];
|
|
9
|
+
startIndex: number;
|
|
10
|
+
startTs: number;
|
|
11
|
+
endTs: number;
|
|
12
|
+
barSizeMs: number;
|
|
13
|
+
bars: number;
|
|
14
|
+
calendar?: boolean;
|
|
15
|
+
daily?: boolean;
|
|
16
|
+
weekly?: boolean;
|
|
17
|
+
monthly?: boolean;
|
|
18
|
+
dayStartMs?: number;
|
|
19
|
+
labelTs?: number;
|
|
20
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DataMap } from './DataMap';
|
|
2
|
+
import { TimeScale } from './TimeScale';
|
|
3
|
+
export interface IndexProvider {
|
|
4
|
+
marketHoursConfigComplete: unknown;
|
|
5
|
+
sessionsAndBlocks: unknown;
|
|
6
|
+
dataMap: DataMap;
|
|
7
|
+
barsLength: number;
|
|
8
|
+
firstDataPointIndex?: number;
|
|
9
|
+
lastDataPointIndex?: number;
|
|
10
|
+
indexToTimestamp: (timestamp: number) => number | undefined;
|
|
11
|
+
findClosestIndex: (timestamp: number) => number;
|
|
12
|
+
getTimescale: (intervalSize: number, scrollOffset: number, viewportWidth: number) => TimeScale;
|
|
13
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { LayersTopology } from '../../config/layer/createLayerTopology';
|
|
2
|
+
import { LayerConfigComplete } from '../../config/layer/LayerConfig';
|
|
3
|
+
import { LayerType } from '../../config/layer/LayerType';
|
|
4
|
+
export interface LayerInputSeries {
|
|
5
|
+
id: string;
|
|
6
|
+
values: Float64Array;
|
|
7
|
+
}
|
|
8
|
+
export interface LayerDataInstance {
|
|
9
|
+
id: string;
|
|
10
|
+
layerType: LayerType;
|
|
11
|
+
layerConfig: LayerConfigComplete;
|
|
12
|
+
inputs: Record<string, LayerInputSeries>;
|
|
13
|
+
outputValues: Record<string, Float64Array>;
|
|
14
|
+
computedStartIndex: number;
|
|
15
|
+
computedEndIndex: number;
|
|
16
|
+
}
|
|
17
|
+
export interface LayersData {
|
|
18
|
+
layerDataInstances: Record<string, LayerDataInstance>;
|
|
19
|
+
layersTopology: LayersTopology;
|
|
20
|
+
}
|
|
@@ -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
|
+
export interface Layout {
|
|
8
|
+
dpr: number;
|
|
9
|
+
chartWidth: number;
|
|
10
|
+
chartHeight: number;
|
|
11
|
+
drawingAreaX: number;
|
|
12
|
+
drawingAreaY: number;
|
|
13
|
+
drawingAreaWidth: number;
|
|
14
|
+
drawingAreaHeight: number;
|
|
15
|
+
drawingAreaX1: number;
|
|
16
|
+
drawingAreaY1: number;
|
|
17
|
+
drawingAreaRight: number;
|
|
18
|
+
drawingAreaBottom: number;
|
|
19
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
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 LocalDateTimeWithDow {
|
|
8
|
+
year: number;
|
|
9
|
+
month: number;
|
|
10
|
+
day: number;
|
|
11
|
+
hour: number;
|
|
12
|
+
minute: number;
|
|
13
|
+
dow: number;
|
|
14
|
+
offset: number;
|
|
15
|
+
}
|
|
16
|
+
export type LocalDate = {
|
|
17
|
+
year: number;
|
|
18
|
+
month: number;
|
|
19
|
+
day: number;
|
|
20
|
+
};
|
|
21
|
+
export type LocalTime = {
|
|
22
|
+
hour: number;
|
|
23
|
+
minute: number;
|
|
24
|
+
};
|
|
25
|
+
export type LocalDateTime = LocalDate & LocalTime;
|
|
@@ -0,0 +1,14 @@
|
|
|
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
|
+
/** one trading session in pure wall-clock */
|
|
8
|
+
export type RawSession = {
|
|
9
|
+
open: number;
|
|
10
|
+
close: number;
|
|
11
|
+
dayStartUtc: number;
|
|
12
|
+
weekStartUtc: number;
|
|
13
|
+
monthStartUtc: number;
|
|
14
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { GridTheme } from '../../config/chart/grid/GridConfig';
|
|
2
|
+
import { CrosshairsTheme } from '../../config/chart/crosshairs/CrosshairsConfig';
|
|
3
|
+
import { PanelTheme } from '../../config/panel/PanelConfig';
|
|
4
|
+
import { LayersTheme } from '../../config/layer/LayerConfig';
|
|
5
|
+
import { BordersTheme } from '../../config/chart/borders/BordersConfig';
|
|
6
|
+
import { XAxisTheme } from '../../config/chart/xAxis/XAxisConfig';
|
|
7
|
+
export interface Theme {
|
|
8
|
+
chart: {
|
|
9
|
+
backgroundColor: string;
|
|
10
|
+
xAxis: XAxisTheme;
|
|
11
|
+
borders: BordersTheme;
|
|
12
|
+
grid: GridTheme;
|
|
13
|
+
crosshairs: CrosshairsTheme;
|
|
14
|
+
};
|
|
15
|
+
panels: PanelTheme;
|
|
16
|
+
layers: LayersTheme;
|
|
17
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Granularity } from './Granularity';
|
|
2
|
+
import { TimeGridLine } from './gridLine/TimeGridLine';
|
|
3
|
+
export interface TimeScale {
|
|
4
|
+
metadata: {
|
|
5
|
+
granularity: Granularity;
|
|
6
|
+
intervalSize: number;
|
|
7
|
+
halfInterval: number;
|
|
8
|
+
viewportWidth: number;
|
|
9
|
+
scrollOffset: number;
|
|
10
|
+
};
|
|
11
|
+
sessionsAndBlocks: unknown;
|
|
12
|
+
startIntervalIndex: number;
|
|
13
|
+
endIntervalIndex: number;
|
|
14
|
+
startBarIndex: number;
|
|
15
|
+
endBarIndex: number;
|
|
16
|
+
gridLines: TimeGridLine[];
|
|
17
|
+
xToBarIndex: (x: number, round?: boolean) => number;
|
|
18
|
+
xToIntervalX: (x: number, scrollOffset: number) => number;
|
|
19
|
+
timestampToIndex: (timestamp: number, nearest?: boolean) => number | undefined;
|
|
20
|
+
getLastVisibleBarIndex: (lastValidBarIndex: number) => number;
|
|
21
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { DataPoint } from './DataPoint';
|
|
2
|
+
import { LayersData } from './LayersData';
|
|
3
|
+
import { default as DataPointInfo } from './DataPointInfo';
|
|
4
|
+
import { IndexProvider } from './IndexProvider';
|
|
5
|
+
import { TimeScale } from './TimeScale';
|
|
6
|
+
import { DataMap } from './DataMap';
|
|
7
|
+
export type ViewportData = {
|
|
8
|
+
indexProvider: IndexProvider;
|
|
9
|
+
timeScale: TimeScale;
|
|
10
|
+
data: DataPoint[];
|
|
11
|
+
dataMap: DataMap;
|
|
12
|
+
layersData: LayersData;
|
|
13
|
+
scrollOffset: number;
|
|
14
|
+
startBarIndex: number;
|
|
15
|
+
endBarIndex: number;
|
|
16
|
+
xToDataPoint: (x: number) => DataPointInfo;
|
|
17
|
+
};
|
|
18
|
+
export default ViewportData;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Granularity } from '../Granularity';
|
|
2
|
+
import { TimeUnit } from '../TimeUnit';
|
|
3
|
+
export interface TimeGridStep {
|
|
4
|
+
granularity: Granularity;
|
|
5
|
+
unit: TimeUnit;
|
|
6
|
+
number: number;
|
|
7
|
+
multiple: number;
|
|
8
|
+
parity?: boolean;
|
|
9
|
+
even?: boolean;
|
|
10
|
+
showLabel?: boolean;
|
|
11
|
+
major?: boolean;
|
|
12
|
+
isSecondaryLabel?: boolean;
|
|
13
|
+
parityGridLine?: TimeGridStep;
|
|
14
|
+
}
|