@mui/x-charts-premium 9.0.1 → 9.0.3
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/BarChartPremium/BarChartPremium.js +20 -1
- package/BarChartPremium/BarChartPremium.mjs +20 -1
- package/BarChartPremium/RangeBar/seriesConfig/getSeriesWithDefaultValues.d.mts +1 -0
- package/BarChartPremium/RangeBar/seriesConfig/getSeriesWithDefaultValues.d.ts +1 -0
- package/BarChartPremium/RangeBar/seriesConfig/seriesProcessor.js +16 -8
- package/BarChartPremium/RangeBar/seriesConfig/seriesProcessor.mjs +16 -8
- package/CHANGELOG.md +257 -0
- package/CandlestickChart/CandlestickChart.js +18 -0
- package/CandlestickChart/CandlestickChart.mjs +18 -0
- package/CandlestickChart/CandlestickPlot.js +27 -31
- package/CandlestickChart/CandlestickPlot.mjs +27 -31
- package/CandlestickChart/CandlestickWebGLProgram.js +0 -3
- package/CandlestickChart/CandlestickWebGLProgram.mjs +0 -3
- package/CandlestickChart/seriesConfig/getSeriesWithDefaultValues.d.mts +1 -0
- package/CandlestickChart/seriesConfig/getSeriesWithDefaultValues.d.ts +1 -0
- package/CandlestickChart/seriesConfig/seriesProcessor.js +21 -13
- package/CandlestickChart/seriesConfig/seriesProcessor.mjs +21 -13
- package/ChartsDataProviderPremium/ChartsDataProviderPremium.js +2 -2
- package/ChartsDataProviderPremium/ChartsDataProviderPremium.mjs +2 -2
- package/ChartsRadialDataProvider/index.d.mts +1 -0
- package/ChartsRadialDataProvider/index.d.ts +1 -0
- package/ChartsRadialDataProvider/index.js +16 -0
- package/ChartsRadialDataProvider/index.mjs +2 -0
- package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.d.mts +35 -0
- package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.d.ts +35 -0
- package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.js +126 -0
- package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.mjs +120 -0
- package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.plugins.d.mts +5 -0
- package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.plugins.d.ts +5 -0
- package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.plugins.js +9 -0
- package/ChartsRadialDataProviderPremium/ChartsRadialDataProviderPremium.plugins.mjs +3 -0
- package/ChartsRadialDataProviderPremium/index.d.mts +3 -0
- package/ChartsRadialDataProviderPremium/index.d.ts +3 -0
- package/ChartsRadialDataProviderPremium/index.js +20 -0
- package/ChartsRadialDataProviderPremium/index.mjs +3 -0
- package/ChartsRadialDataProviderPremium/useChartsRadialDataProviderPremiumProps.d.mts +10 -0
- package/ChartsRadialDataProviderPremium/useChartsRadialDataProviderPremiumProps.d.ts +10 -0
- package/ChartsRadialDataProviderPremium/useChartsRadialDataProviderPremiumProps.js +25 -0
- package/ChartsRadialDataProviderPremium/useChartsRadialDataProviderPremiumProps.mjs +19 -0
- package/ChartsRadialGrid/index.d.mts +1 -0
- package/ChartsRadialGrid/index.d.ts +1 -0
- package/ChartsRadialGrid/index.js +16 -0
- package/ChartsRadialGrid/index.mjs +2 -0
- package/ChartsRadiusAxis/index.d.mts +1 -0
- package/ChartsRadiusAxis/index.d.ts +1 -0
- package/ChartsRadiusAxis/index.js +16 -0
- package/ChartsRadiusAxis/index.mjs +2 -0
- package/ChartsRotationAxis/index.d.mts +1 -0
- package/ChartsRotationAxis/index.d.ts +1 -0
- package/ChartsRotationAxis/index.js +16 -0
- package/ChartsRotationAxis/index.mjs +2 -0
- package/ChartsWebGLLayer/ChartsWebGLContext.d.mts +5 -0
- package/ChartsWebGLLayer/ChartsWebGLContext.d.ts +5 -0
- package/ChartsWebGLLayer/ChartsWebGLContext.js +31 -0
- package/ChartsWebGLLayer/ChartsWebGLContext.mjs +23 -0
- package/ChartsWebGLLayer/ChartsWebGLLayer.d.mts +0 -1
- package/ChartsWebGLLayer/ChartsWebGLLayer.d.ts +0 -1
- package/ChartsWebGLLayer/ChartsWebGLLayer.js +63 -12
- package/ChartsWebGLLayer/ChartsWebGLLayer.mjs +62 -10
- package/ChartsWebGLLayer/ChartsWebGLLayer.types.d.mts +26 -0
- package/ChartsWebGLLayer/ChartsWebGLLayer.types.d.ts +26 -0
- package/ChartsWebGLLayer/ChartsWebGLLayer.types.js +5 -0
- package/ChartsWebGLLayer/ChartsWebGLLayer.types.mjs +1 -0
- package/ChartsWebGLLayer/ChartsWebGLOrderContext.d.mts +6 -0
- package/ChartsWebGLLayer/ChartsWebGLOrderContext.d.ts +6 -0
- package/ChartsWebGLLayer/ChartsWebGLOrderContext.js +15 -0
- package/ChartsWebGLLayer/ChartsWebGLOrderContext.mjs +10 -0
- package/HeatmapPremium/HeatmapPlotPremium.js +2 -2
- package/HeatmapPremium/HeatmapPlotPremium.mjs +2 -2
- package/HeatmapPremium/HeatmapPremium.js +4 -1
- package/HeatmapPremium/HeatmapPremium.mjs +4 -1
- package/HeatmapPremium/webgl/HeatmapWebGLPlot.js +26 -33
- package/HeatmapPremium/webgl/HeatmapWebGLPlot.mjs +26 -33
- package/RadialBarChart/seriesConfig/axisTooltipGetter.d.mts +2 -0
- package/RadialBarChart/seriesConfig/axisTooltipGetter.d.ts +2 -0
- package/RadialBarChart/seriesConfig/axisTooltipGetter.js +13 -0
- package/RadialBarChart/seriesConfig/axisTooltipGetter.mjs +6 -0
- package/RadialBarChart/seriesConfig/descriptionGetter.d.mts +3 -0
- package/RadialBarChart/seriesConfig/descriptionGetter.d.ts +3 -0
- package/RadialBarChart/seriesConfig/descriptionGetter.js +34 -0
- package/RadialBarChart/seriesConfig/descriptionGetter.mjs +28 -0
- package/RadialBarChart/seriesConfig/extremums.d.mts +3 -0
- package/RadialBarChart/seriesConfig/extremums.d.ts +3 -0
- package/RadialBarChart/seriesConfig/extremums.js +44 -0
- package/RadialBarChart/seriesConfig/extremums.mjs +36 -0
- package/RadialBarChart/seriesConfig/getColor.d.mts +3 -0
- package/RadialBarChart/seriesConfig/getColor.d.ts +3 -0
- package/RadialBarChart/seriesConfig/getColor.js +61 -0
- package/RadialBarChart/seriesConfig/getColor.mjs +55 -0
- package/RadialBarChart/seriesConfig/getSeriesWithDefaultValues.d.mts +3 -0
- package/RadialBarChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
- package/RadialBarChart/seriesConfig/getSeriesWithDefaultValues.js +16 -0
- package/RadialBarChart/seriesConfig/getSeriesWithDefaultValues.mjs +9 -0
- package/RadialBarChart/seriesConfig/index.d.mts +2 -0
- package/RadialBarChart/seriesConfig/index.d.ts +2 -0
- package/RadialBarChart/seriesConfig/index.js +37 -0
- package/RadialBarChart/seriesConfig/index.mjs +30 -0
- package/RadialBarChart/seriesConfig/keyboardFocusHandler.d.mts +3 -0
- package/RadialBarChart/seriesConfig/keyboardFocusHandler.d.ts +3 -0
- package/RadialBarChart/seriesConfig/keyboardFocusHandler.js +9 -0
- package/RadialBarChart/seriesConfig/keyboardFocusHandler.mjs +3 -0
- package/RadialBarChart/seriesConfig/legend.d.mts +3 -0
- package/RadialBarChart/seriesConfig/legend.d.ts +3 -0
- package/RadialBarChart/seriesConfig/legend.js +9 -0
- package/RadialBarChart/seriesConfig/legend.mjs +3 -0
- package/RadialBarChart/seriesConfig/seriesProcessor.d.mts +3 -0
- package/RadialBarChart/seriesConfig/seriesProcessor.d.ts +3 -0
- package/RadialBarChart/seriesConfig/seriesProcessor.js +137 -0
- package/RadialBarChart/seriesConfig/seriesProcessor.mjs +130 -0
- package/RadialBarChart/seriesConfig/tooltip.d.mts +3 -0
- package/RadialBarChart/seriesConfig/tooltip.d.ts +3 -0
- package/RadialBarChart/seriesConfig/tooltip.js +34 -0
- package/RadialBarChart/seriesConfig/tooltip.mjs +28 -0
- package/RadialBarChart/seriesConfig/tooltipPosition.d.mts +3 -0
- package/RadialBarChart/seriesConfig/tooltipPosition.d.ts +3 -0
- package/RadialBarChart/seriesConfig/tooltipPosition.js +11 -0
- package/RadialBarChart/seriesConfig/tooltipPosition.mjs +5 -0
- package/RadialLineChart/RadialArea.d.mts +12 -0
- package/RadialLineChart/RadialArea.d.ts +12 -0
- package/RadialLineChart/RadialArea.js +33 -0
- package/RadialLineChart/RadialArea.mjs +26 -0
- package/RadialLineChart/RadialAreaPlot.d.mts +5 -0
- package/RadialLineChart/RadialAreaPlot.d.ts +5 -0
- package/RadialLineChart/RadialAreaPlot.js +51 -0
- package/RadialLineChart/RadialAreaPlot.mjs +45 -0
- package/RadialLineChart/RadialLine.d.mts +12 -0
- package/RadialLineChart/RadialLine.d.ts +12 -0
- package/RadialLineChart/RadialLine.js +33 -0
- package/RadialLineChart/RadialLine.mjs +26 -0
- package/RadialLineChart/RadialLineChart.d.mts +62 -0
- package/RadialLineChart/RadialLineChart.d.ts +62 -0
- package/RadialLineChart/RadialLineChart.js +967 -0
- package/RadialLineChart/RadialLineChart.mjs +960 -0
- package/RadialLineChart/RadialLineChart.plugins.d.mts +4 -0
- package/RadialLineChart/RadialLineChart.plugins.d.ts +4 -0
- package/RadialLineChart/RadialLineChart.plugins.js +9 -0
- package/RadialLineChart/RadialLineChart.plugins.mjs +3 -0
- package/RadialLineChart/RadialLinePlot.d.mts +5 -0
- package/RadialLineChart/RadialLinePlot.d.ts +5 -0
- package/RadialLineChart/RadialLinePlot.js +50 -0
- package/RadialLineChart/RadialLinePlot.mjs +44 -0
- package/RadialLineChart/RadialMarkPlot.d.mts +5 -0
- package/RadialLineChart/RadialMarkPlot.d.ts +5 -0
- package/RadialLineChart/RadialMarkPlot.js +48 -0
- package/RadialLineChart/RadialMarkPlot.mjs +42 -0
- package/RadialLineChart/index.d.mts +4 -0
- package/RadialLineChart/index.d.ts +4 -0
- package/RadialLineChart/index.js +49 -0
- package/RadialLineChart/index.mjs +4 -0
- package/RadialLineChart/radialLineClasses.d.mts +25 -0
- package/RadialLineChart/radialLineClasses.d.ts +25 -0
- package/RadialLineChart/radialLineClasses.js +30 -0
- package/RadialLineChart/radialLineClasses.mjs +21 -0
- package/RadialLineChart/seriesConfig/axisTooltipGetter.d.mts +2 -0
- package/RadialLineChart/seriesConfig/axisTooltipGetter.d.ts +2 -0
- package/RadialLineChart/seriesConfig/axisTooltipGetter.js +13 -0
- package/RadialLineChart/seriesConfig/axisTooltipGetter.mjs +6 -0
- package/RadialLineChart/seriesConfig/descriptionGetter.d.mts +3 -0
- package/RadialLineChart/seriesConfig/descriptionGetter.d.ts +3 -0
- package/RadialLineChart/seriesConfig/descriptionGetter.js +39 -0
- package/RadialLineChart/seriesConfig/descriptionGetter.mjs +33 -0
- package/RadialLineChart/seriesConfig/extremums.d.mts +3 -0
- package/RadialLineChart/seriesConfig/extremums.d.ts +3 -0
- package/RadialLineChart/seriesConfig/extremums.js +48 -0
- package/RadialLineChart/seriesConfig/extremums.mjs +40 -0
- package/RadialLineChart/seriesConfig/getColor.d.mts +3 -0
- package/RadialLineChart/seriesConfig/getColor.d.ts +3 -0
- package/RadialLineChart/seriesConfig/getColor.js +61 -0
- package/RadialLineChart/seriesConfig/getColor.mjs +55 -0
- package/RadialLineChart/seriesConfig/getSeriesWithDefaultValues.d.mts +3 -0
- package/RadialLineChart/seriesConfig/getSeriesWithDefaultValues.d.ts +3 -0
- package/RadialLineChart/seriesConfig/getSeriesWithDefaultValues.js +13 -0
- package/RadialLineChart/seriesConfig/getSeriesWithDefaultValues.mjs +6 -0
- package/RadialLineChart/seriesConfig/index.d.mts +2 -0
- package/RadialLineChart/seriesConfig/index.d.ts +2 -0
- package/RadialLineChart/seriesConfig/index.js +37 -0
- package/RadialLineChart/seriesConfig/index.mjs +30 -0
- package/RadialLineChart/seriesConfig/keyboardFocusHandler.d.mts +3 -0
- package/RadialLineChart/seriesConfig/keyboardFocusHandler.d.ts +3 -0
- package/RadialLineChart/seriesConfig/keyboardFocusHandler.js +9 -0
- package/RadialLineChart/seriesConfig/keyboardFocusHandler.mjs +3 -0
- package/RadialLineChart/seriesConfig/legend.d.mts +3 -0
- package/RadialLineChart/seriesConfig/legend.d.ts +3 -0
- package/RadialLineChart/seriesConfig/legend.js +29 -0
- package/RadialLineChart/seriesConfig/legend.mjs +23 -0
- package/RadialLineChart/seriesConfig/seriesProcessor.d.mts +3 -0
- package/RadialLineChart/seriesConfig/seriesProcessor.d.ts +3 -0
- package/RadialLineChart/seriesConfig/seriesProcessor.js +142 -0
- package/RadialLineChart/seriesConfig/seriesProcessor.mjs +135 -0
- package/RadialLineChart/seriesConfig/tooltip.d.mts +3 -0
- package/RadialLineChart/seriesConfig/tooltip.d.ts +3 -0
- package/RadialLineChart/seriesConfig/tooltip.js +32 -0
- package/RadialLineChart/seriesConfig/tooltip.mjs +26 -0
- package/RadialLineChart/seriesConfig/tooltipPosition.d.mts +3 -0
- package/RadialLineChart/seriesConfig/tooltipPosition.d.ts +3 -0
- package/RadialLineChart/seriesConfig/tooltipPosition.js +11 -0
- package/RadialLineChart/seriesConfig/tooltipPosition.mjs +5 -0
- package/RadialLineChart/useRadialLineChartProps.d.mts +28 -0
- package/RadialLineChart/useRadialLineChartProps.d.ts +28 -0
- package/RadialLineChart/useRadialLineChartProps.js +99 -0
- package/RadialLineChart/useRadialLineChartProps.mjs +92 -0
- package/RadialLineChart/useRadialLinePlotData.d.mts +19 -0
- package/RadialLineChart/useRadialLinePlotData.d.ts +19 -0
- package/RadialLineChart/useRadialLinePlotData.js +79 -0
- package/RadialLineChart/useRadialLinePlotData.mjs +72 -0
- package/hooks/useRadialLineSeries.d.mts +34 -0
- package/hooks/useRadialLineSeries.d.ts +34 -0
- package/hooks/useRadialLineSeries.js +45 -0
- package/hooks/useRadialLineSeries.mjs +40 -0
- package/index.d.mts +7 -1
- package/index.d.ts +7 -1
- package/index.js +69 -1
- package/index.mjs +8 -2
- package/models/seriesType/index.d.mts +3 -1
- package/models/seriesType/index.d.ts +3 -1
- package/models/seriesType/index.js +22 -0
- package/models/seriesType/index.mjs +3 -1
- package/models/seriesType/ohlc.d.mts +7 -1
- package/models/seriesType/ohlc.d.ts +7 -1
- package/models/seriesType/radialBar.d.mts +23 -0
- package/models/seriesType/radialBar.d.ts +23 -0
- package/models/seriesType/radialBar.js +5 -0
- package/models/seriesType/radialBar.mjs +1 -0
- package/models/seriesType/radialLine.d.mts +26 -0
- package/models/seriesType/radialLine.d.ts +26 -0
- package/models/seriesType/radialLine.js +5 -0
- package/models/seriesType/radialLine.mjs +1 -0
- package/models/seriesType/rangeBar.d.mts +7 -1
- package/models/seriesType/rangeBar.d.ts +7 -1
- package/package.json +90 -6
- package/typeOverloads/modules.d.mts +48 -2
- package/typeOverloads/modules.d.ts +48 -2
- package/utils/webgl/useWebGLResizeObserver.d.mts +3 -2
- package/utils/webgl/useWebGLResizeObserver.d.ts +3 -2
- package/utils/webgl/useWebGLResizeObserver.js +3 -4
- package/utils/webgl/useWebGLResizeObserver.mjs +3 -4
- package/HeatmapPremium/webgl/HeatmapWebGLRenderer.d.mts +0 -4
- package/HeatmapPremium/webgl/HeatmapWebGLRenderer.d.ts +0 -4
- package/HeatmapPremium/webgl/HeatmapWebGLRenderer.js +0 -21
- package/HeatmapPremium/webgl/HeatmapWebGLRenderer.mjs +0 -15
|
@@ -437,6 +437,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
437
437
|
tickSize: _propTypes.default.number,
|
|
438
438
|
tickSpacing: _propTypes.default.number,
|
|
439
439
|
valueFormatter: _propTypes.default.func,
|
|
440
|
+
valueGetter: _propTypes.default.func,
|
|
440
441
|
zoom: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
441
442
|
filterMode: _propTypes.default.oneOf(['discard', 'keep']),
|
|
442
443
|
maxEnd: _propTypes.default.number,
|
|
@@ -511,6 +512,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
511
512
|
tickSize: _propTypes.default.number,
|
|
512
513
|
tickSpacing: _propTypes.default.number,
|
|
513
514
|
valueFormatter: _propTypes.default.func,
|
|
515
|
+
valueGetter: _propTypes.default.func,
|
|
514
516
|
zoom: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
515
517
|
filterMode: _propTypes.default.oneOf(['discard', 'keep']),
|
|
516
518
|
maxEnd: _propTypes.default.number,
|
|
@@ -572,6 +574,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
572
574
|
tickSize: _propTypes.default.number,
|
|
573
575
|
tickSpacing: _propTypes.default.number,
|
|
574
576
|
valueFormatter: _propTypes.default.func,
|
|
577
|
+
valueGetter: _propTypes.default.func,
|
|
575
578
|
zoom: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
576
579
|
filterMode: _propTypes.default.oneOf(['discard', 'keep']),
|
|
577
580
|
maxEnd: _propTypes.default.number,
|
|
@@ -634,6 +637,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
634
637
|
tickSize: _propTypes.default.number,
|
|
635
638
|
tickSpacing: _propTypes.default.number,
|
|
636
639
|
valueFormatter: _propTypes.default.func,
|
|
640
|
+
valueGetter: _propTypes.default.func,
|
|
637
641
|
zoom: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
638
642
|
filterMode: _propTypes.default.oneOf(['discard', 'keep']),
|
|
639
643
|
maxEnd: _propTypes.default.number,
|
|
@@ -695,6 +699,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
695
699
|
tickSize: _propTypes.default.number,
|
|
696
700
|
tickSpacing: _propTypes.default.number,
|
|
697
701
|
valueFormatter: _propTypes.default.func,
|
|
702
|
+
valueGetter: _propTypes.default.func,
|
|
698
703
|
zoom: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
699
704
|
filterMode: _propTypes.default.oneOf(['discard', 'keep']),
|
|
700
705
|
maxEnd: _propTypes.default.number,
|
|
@@ -756,6 +761,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
756
761
|
tickSize: _propTypes.default.number,
|
|
757
762
|
tickSpacing: _propTypes.default.number,
|
|
758
763
|
valueFormatter: _propTypes.default.func,
|
|
764
|
+
valueGetter: _propTypes.default.func,
|
|
759
765
|
zoom: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
760
766
|
filterMode: _propTypes.default.oneOf(['discard', 'keep']),
|
|
761
767
|
maxEnd: _propTypes.default.number,
|
|
@@ -821,6 +827,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
821
827
|
tickSize: _propTypes.default.number,
|
|
822
828
|
tickSpacing: _propTypes.default.number,
|
|
823
829
|
valueFormatter: _propTypes.default.func,
|
|
830
|
+
valueGetter: _propTypes.default.func,
|
|
824
831
|
zoom: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
825
832
|
filterMode: _propTypes.default.oneOf(['discard', 'keep']),
|
|
826
833
|
maxEnd: _propTypes.default.number,
|
|
@@ -886,6 +893,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
886
893
|
tickSize: _propTypes.default.number,
|
|
887
894
|
tickSpacing: _propTypes.default.number,
|
|
888
895
|
valueFormatter: _propTypes.default.func,
|
|
896
|
+
valueGetter: _propTypes.default.func,
|
|
889
897
|
zoom: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
890
898
|
filterMode: _propTypes.default.oneOf(['discard', 'keep']),
|
|
891
899
|
maxEnd: _propTypes.default.number,
|
|
@@ -947,6 +955,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
947
955
|
tickSize: _propTypes.default.number,
|
|
948
956
|
tickSpacing: _propTypes.default.number,
|
|
949
957
|
valueFormatter: _propTypes.default.func,
|
|
958
|
+
valueGetter: _propTypes.default.func,
|
|
950
959
|
zoom: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
951
960
|
filterMode: _propTypes.default.oneOf(['discard', 'keep']),
|
|
952
961
|
maxEnd: _propTypes.default.number,
|
|
@@ -1027,6 +1036,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
1027
1036
|
tickSize: _propTypes.default.number,
|
|
1028
1037
|
tickSpacing: _propTypes.default.number,
|
|
1029
1038
|
valueFormatter: _propTypes.default.func,
|
|
1039
|
+
valueGetter: _propTypes.default.func,
|
|
1030
1040
|
width: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number]),
|
|
1031
1041
|
zoom: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
1032
1042
|
filterMode: _propTypes.default.oneOf(['discard', 'keep']),
|
|
@@ -1100,6 +1110,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
1100
1110
|
tickSize: _propTypes.default.number,
|
|
1101
1111
|
tickSpacing: _propTypes.default.number,
|
|
1102
1112
|
valueFormatter: _propTypes.default.func,
|
|
1113
|
+
valueGetter: _propTypes.default.func,
|
|
1103
1114
|
width: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number]),
|
|
1104
1115
|
zoom: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
1105
1116
|
filterMode: _propTypes.default.oneOf(['discard', 'keep']),
|
|
@@ -1160,6 +1171,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
1160
1171
|
tickSize: _propTypes.default.number,
|
|
1161
1172
|
tickSpacing: _propTypes.default.number,
|
|
1162
1173
|
valueFormatter: _propTypes.default.func,
|
|
1174
|
+
valueGetter: _propTypes.default.func,
|
|
1163
1175
|
width: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number]),
|
|
1164
1176
|
zoom: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
1165
1177
|
filterMode: _propTypes.default.oneOf(['discard', 'keep']),
|
|
@@ -1221,6 +1233,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
1221
1233
|
tickSize: _propTypes.default.number,
|
|
1222
1234
|
tickSpacing: _propTypes.default.number,
|
|
1223
1235
|
valueFormatter: _propTypes.default.func,
|
|
1236
|
+
valueGetter: _propTypes.default.func,
|
|
1224
1237
|
width: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number]),
|
|
1225
1238
|
zoom: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
1226
1239
|
filterMode: _propTypes.default.oneOf(['discard', 'keep']),
|
|
@@ -1281,6 +1294,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
1281
1294
|
tickSize: _propTypes.default.number,
|
|
1282
1295
|
tickSpacing: _propTypes.default.number,
|
|
1283
1296
|
valueFormatter: _propTypes.default.func,
|
|
1297
|
+
valueGetter: _propTypes.default.func,
|
|
1284
1298
|
width: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number]),
|
|
1285
1299
|
zoom: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
1286
1300
|
filterMode: _propTypes.default.oneOf(['discard', 'keep']),
|
|
@@ -1341,6 +1355,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
1341
1355
|
tickSize: _propTypes.default.number,
|
|
1342
1356
|
tickSpacing: _propTypes.default.number,
|
|
1343
1357
|
valueFormatter: _propTypes.default.func,
|
|
1358
|
+
valueGetter: _propTypes.default.func,
|
|
1344
1359
|
width: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number]),
|
|
1345
1360
|
zoom: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
1346
1361
|
filterMode: _propTypes.default.oneOf(['discard', 'keep']),
|
|
@@ -1405,6 +1420,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
1405
1420
|
tickSize: _propTypes.default.number,
|
|
1406
1421
|
tickSpacing: _propTypes.default.number,
|
|
1407
1422
|
valueFormatter: _propTypes.default.func,
|
|
1423
|
+
valueGetter: _propTypes.default.func,
|
|
1408
1424
|
width: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number]),
|
|
1409
1425
|
zoom: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
1410
1426
|
filterMode: _propTypes.default.oneOf(['discard', 'keep']),
|
|
@@ -1469,6 +1485,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
1469
1485
|
tickSize: _propTypes.default.number,
|
|
1470
1486
|
tickSpacing: _propTypes.default.number,
|
|
1471
1487
|
valueFormatter: _propTypes.default.func,
|
|
1488
|
+
valueGetter: _propTypes.default.func,
|
|
1472
1489
|
width: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number]),
|
|
1473
1490
|
zoom: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
1474
1491
|
filterMode: _propTypes.default.oneOf(['discard', 'keep']),
|
|
@@ -1529,6 +1546,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
1529
1546
|
tickSize: _propTypes.default.number,
|
|
1530
1547
|
tickSpacing: _propTypes.default.number,
|
|
1531
1548
|
valueFormatter: _propTypes.default.func,
|
|
1549
|
+
valueGetter: _propTypes.default.func,
|
|
1532
1550
|
width: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.number]),
|
|
1533
1551
|
zoom: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
1534
1552
|
filterMode: _propTypes.default.oneOf(['discard', 'keep']),
|
|
@@ -429,6 +429,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
429
429
|
tickSize: PropTypes.number,
|
|
430
430
|
tickSpacing: PropTypes.number,
|
|
431
431
|
valueFormatter: PropTypes.func,
|
|
432
|
+
valueGetter: PropTypes.func,
|
|
432
433
|
zoom: PropTypes.oneOfType([PropTypes.shape({
|
|
433
434
|
filterMode: PropTypes.oneOf(['discard', 'keep']),
|
|
434
435
|
maxEnd: PropTypes.number,
|
|
@@ -503,6 +504,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
503
504
|
tickSize: PropTypes.number,
|
|
504
505
|
tickSpacing: PropTypes.number,
|
|
505
506
|
valueFormatter: PropTypes.func,
|
|
507
|
+
valueGetter: PropTypes.func,
|
|
506
508
|
zoom: PropTypes.oneOfType([PropTypes.shape({
|
|
507
509
|
filterMode: PropTypes.oneOf(['discard', 'keep']),
|
|
508
510
|
maxEnd: PropTypes.number,
|
|
@@ -564,6 +566,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
564
566
|
tickSize: PropTypes.number,
|
|
565
567
|
tickSpacing: PropTypes.number,
|
|
566
568
|
valueFormatter: PropTypes.func,
|
|
569
|
+
valueGetter: PropTypes.func,
|
|
567
570
|
zoom: PropTypes.oneOfType([PropTypes.shape({
|
|
568
571
|
filterMode: PropTypes.oneOf(['discard', 'keep']),
|
|
569
572
|
maxEnd: PropTypes.number,
|
|
@@ -626,6 +629,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
626
629
|
tickSize: PropTypes.number,
|
|
627
630
|
tickSpacing: PropTypes.number,
|
|
628
631
|
valueFormatter: PropTypes.func,
|
|
632
|
+
valueGetter: PropTypes.func,
|
|
629
633
|
zoom: PropTypes.oneOfType([PropTypes.shape({
|
|
630
634
|
filterMode: PropTypes.oneOf(['discard', 'keep']),
|
|
631
635
|
maxEnd: PropTypes.number,
|
|
@@ -687,6 +691,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
687
691
|
tickSize: PropTypes.number,
|
|
688
692
|
tickSpacing: PropTypes.number,
|
|
689
693
|
valueFormatter: PropTypes.func,
|
|
694
|
+
valueGetter: PropTypes.func,
|
|
690
695
|
zoom: PropTypes.oneOfType([PropTypes.shape({
|
|
691
696
|
filterMode: PropTypes.oneOf(['discard', 'keep']),
|
|
692
697
|
maxEnd: PropTypes.number,
|
|
@@ -748,6 +753,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
748
753
|
tickSize: PropTypes.number,
|
|
749
754
|
tickSpacing: PropTypes.number,
|
|
750
755
|
valueFormatter: PropTypes.func,
|
|
756
|
+
valueGetter: PropTypes.func,
|
|
751
757
|
zoom: PropTypes.oneOfType([PropTypes.shape({
|
|
752
758
|
filterMode: PropTypes.oneOf(['discard', 'keep']),
|
|
753
759
|
maxEnd: PropTypes.number,
|
|
@@ -813,6 +819,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
813
819
|
tickSize: PropTypes.number,
|
|
814
820
|
tickSpacing: PropTypes.number,
|
|
815
821
|
valueFormatter: PropTypes.func,
|
|
822
|
+
valueGetter: PropTypes.func,
|
|
816
823
|
zoom: PropTypes.oneOfType([PropTypes.shape({
|
|
817
824
|
filterMode: PropTypes.oneOf(['discard', 'keep']),
|
|
818
825
|
maxEnd: PropTypes.number,
|
|
@@ -878,6 +885,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
878
885
|
tickSize: PropTypes.number,
|
|
879
886
|
tickSpacing: PropTypes.number,
|
|
880
887
|
valueFormatter: PropTypes.func,
|
|
888
|
+
valueGetter: PropTypes.func,
|
|
881
889
|
zoom: PropTypes.oneOfType([PropTypes.shape({
|
|
882
890
|
filterMode: PropTypes.oneOf(['discard', 'keep']),
|
|
883
891
|
maxEnd: PropTypes.number,
|
|
@@ -939,6 +947,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
939
947
|
tickSize: PropTypes.number,
|
|
940
948
|
tickSpacing: PropTypes.number,
|
|
941
949
|
valueFormatter: PropTypes.func,
|
|
950
|
+
valueGetter: PropTypes.func,
|
|
942
951
|
zoom: PropTypes.oneOfType([PropTypes.shape({
|
|
943
952
|
filterMode: PropTypes.oneOf(['discard', 'keep']),
|
|
944
953
|
maxEnd: PropTypes.number,
|
|
@@ -1019,6 +1028,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
1019
1028
|
tickSize: PropTypes.number,
|
|
1020
1029
|
tickSpacing: PropTypes.number,
|
|
1021
1030
|
valueFormatter: PropTypes.func,
|
|
1031
|
+
valueGetter: PropTypes.func,
|
|
1022
1032
|
width: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number]),
|
|
1023
1033
|
zoom: PropTypes.oneOfType([PropTypes.shape({
|
|
1024
1034
|
filterMode: PropTypes.oneOf(['discard', 'keep']),
|
|
@@ -1092,6 +1102,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
1092
1102
|
tickSize: PropTypes.number,
|
|
1093
1103
|
tickSpacing: PropTypes.number,
|
|
1094
1104
|
valueFormatter: PropTypes.func,
|
|
1105
|
+
valueGetter: PropTypes.func,
|
|
1095
1106
|
width: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number]),
|
|
1096
1107
|
zoom: PropTypes.oneOfType([PropTypes.shape({
|
|
1097
1108
|
filterMode: PropTypes.oneOf(['discard', 'keep']),
|
|
@@ -1152,6 +1163,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
1152
1163
|
tickSize: PropTypes.number,
|
|
1153
1164
|
tickSpacing: PropTypes.number,
|
|
1154
1165
|
valueFormatter: PropTypes.func,
|
|
1166
|
+
valueGetter: PropTypes.func,
|
|
1155
1167
|
width: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number]),
|
|
1156
1168
|
zoom: PropTypes.oneOfType([PropTypes.shape({
|
|
1157
1169
|
filterMode: PropTypes.oneOf(['discard', 'keep']),
|
|
@@ -1213,6 +1225,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
1213
1225
|
tickSize: PropTypes.number,
|
|
1214
1226
|
tickSpacing: PropTypes.number,
|
|
1215
1227
|
valueFormatter: PropTypes.func,
|
|
1228
|
+
valueGetter: PropTypes.func,
|
|
1216
1229
|
width: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number]),
|
|
1217
1230
|
zoom: PropTypes.oneOfType([PropTypes.shape({
|
|
1218
1231
|
filterMode: PropTypes.oneOf(['discard', 'keep']),
|
|
@@ -1273,6 +1286,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
1273
1286
|
tickSize: PropTypes.number,
|
|
1274
1287
|
tickSpacing: PropTypes.number,
|
|
1275
1288
|
valueFormatter: PropTypes.func,
|
|
1289
|
+
valueGetter: PropTypes.func,
|
|
1276
1290
|
width: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number]),
|
|
1277
1291
|
zoom: PropTypes.oneOfType([PropTypes.shape({
|
|
1278
1292
|
filterMode: PropTypes.oneOf(['discard', 'keep']),
|
|
@@ -1333,6 +1347,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
1333
1347
|
tickSize: PropTypes.number,
|
|
1334
1348
|
tickSpacing: PropTypes.number,
|
|
1335
1349
|
valueFormatter: PropTypes.func,
|
|
1350
|
+
valueGetter: PropTypes.func,
|
|
1336
1351
|
width: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number]),
|
|
1337
1352
|
zoom: PropTypes.oneOfType([PropTypes.shape({
|
|
1338
1353
|
filterMode: PropTypes.oneOf(['discard', 'keep']),
|
|
@@ -1397,6 +1412,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
1397
1412
|
tickSize: PropTypes.number,
|
|
1398
1413
|
tickSpacing: PropTypes.number,
|
|
1399
1414
|
valueFormatter: PropTypes.func,
|
|
1415
|
+
valueGetter: PropTypes.func,
|
|
1400
1416
|
width: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number]),
|
|
1401
1417
|
zoom: PropTypes.oneOfType([PropTypes.shape({
|
|
1402
1418
|
filterMode: PropTypes.oneOf(['discard', 'keep']),
|
|
@@ -1461,6 +1477,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
1461
1477
|
tickSize: PropTypes.number,
|
|
1462
1478
|
tickSpacing: PropTypes.number,
|
|
1463
1479
|
valueFormatter: PropTypes.func,
|
|
1480
|
+
valueGetter: PropTypes.func,
|
|
1464
1481
|
width: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number]),
|
|
1465
1482
|
zoom: PropTypes.oneOfType([PropTypes.shape({
|
|
1466
1483
|
filterMode: PropTypes.oneOf(['discard', 'keep']),
|
|
@@ -1521,6 +1538,7 @@ process.env.NODE_ENV !== "production" ? CandlestickChart.propTypes = {
|
|
|
1521
1538
|
tickSize: PropTypes.number,
|
|
1522
1539
|
tickSpacing: PropTypes.number,
|
|
1523
1540
|
valueFormatter: PropTypes.func,
|
|
1541
|
+
valueGetter: PropTypes.func,
|
|
1524
1542
|
width: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number]),
|
|
1525
1543
|
zoom: PropTypes.oneOfType([PropTypes.shape({
|
|
1526
1544
|
filterMode: PropTypes.oneOf(['discard', 'keep']),
|
|
@@ -11,8 +11,7 @@ var _internals = require("@mui/x-charts/internals");
|
|
|
11
11
|
var _hooks = require("@mui/x-charts/hooks");
|
|
12
12
|
var _useOHLCSeries = require("../hooks/useOHLCSeries");
|
|
13
13
|
var _useCandlestickPlotData = require("./useCandlestickPlotData");
|
|
14
|
-
var
|
|
15
|
-
var _ChartsWebGLLayer = require("../ChartsWebGLLayer/ChartsWebGLLayer");
|
|
14
|
+
var _ChartsWebGLContext = require("../ChartsWebGLLayer/ChartsWebGLContext");
|
|
16
15
|
var _checkCandlestickScaleErrors = require("./checkCandlestickScaleErrors");
|
|
17
16
|
var _CandlestickWebGLProgram = require("./CandlestickWebGLProgram");
|
|
18
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -20,26 +19,29 @@ function CandlestickPlot() {
|
|
|
20
19
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(CandlestickWebGLPlot, {});
|
|
21
20
|
}
|
|
22
21
|
function CandlestickWebGLPlot() {
|
|
23
|
-
const
|
|
22
|
+
const layer = (0, _ChartsWebGLContext.useWebGLLayer)();
|
|
24
23
|
const series = (0, _useOHLCSeries.useOHLCSeriesContext)();
|
|
25
24
|
const seriesToDisplay = series?.series[series.seriesOrder[0]];
|
|
26
25
|
const isHidden = !seriesToDisplay || seriesToDisplay.hidden;
|
|
27
26
|
React.useEffect(() => {
|
|
28
|
-
if (
|
|
29
|
-
|
|
30
|
-
gl.clear(gl.COLOR_BUFFER_BIT);
|
|
27
|
+
if (layer && isHidden) {
|
|
28
|
+
layer.requestRender();
|
|
31
29
|
}
|
|
32
|
-
}, [
|
|
33
|
-
if (!
|
|
30
|
+
}, [layer, isHidden]);
|
|
31
|
+
if (!layer || isHidden) {
|
|
34
32
|
return null;
|
|
35
33
|
}
|
|
36
34
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(CandlestickWebGLPlotImpl, {
|
|
37
|
-
gl: gl,
|
|
35
|
+
gl: layer.gl,
|
|
36
|
+
registerDraw: layer.registerDraw,
|
|
37
|
+
requestRender: layer.requestRender,
|
|
38
38
|
series: seriesToDisplay
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
41
|
function CandlestickWebGLPlotImpl({
|
|
42
42
|
gl,
|
|
43
|
+
registerDraw,
|
|
44
|
+
requestRender,
|
|
43
45
|
series
|
|
44
46
|
}) {
|
|
45
47
|
const drawingArea = (0, _internals.useDrawingArea)();
|
|
@@ -48,7 +50,16 @@ function CandlestickWebGLPlotImpl({
|
|
|
48
50
|
(0, _checkCandlestickScaleErrors.checkCandlestickScaleErrors)(series.id, xScale);
|
|
49
51
|
const [program, setProgram] = React.useState(null);
|
|
50
52
|
const dataLength = series.data.length;
|
|
51
|
-
const
|
|
53
|
+
const drawRef = React.useRef(null);
|
|
54
|
+
React.useEffect(() => {
|
|
55
|
+
drawRef.current = () => {
|
|
56
|
+
program?.render(dataLength);
|
|
57
|
+
};
|
|
58
|
+
}, [program, dataLength]);
|
|
59
|
+
React.useEffect(() => {
|
|
60
|
+
const unregister = registerDraw(drawRef);
|
|
61
|
+
return unregister;
|
|
62
|
+
}, [registerDraw]);
|
|
52
63
|
React.useEffect(() => {
|
|
53
64
|
const prog = new _CandlestickWebGLProgram.CandlestickWebGLProgram(gl);
|
|
54
65
|
setProgram(prog);
|
|
@@ -56,34 +67,19 @@ function CandlestickWebGLPlotImpl({
|
|
|
56
67
|
prog.dispose();
|
|
57
68
|
};
|
|
58
69
|
}, [gl]);
|
|
59
|
-
const render = React.useCallback(() => {
|
|
60
|
-
renderScheduledRef.current = false;
|
|
61
|
-
program?.render(dataLength);
|
|
62
|
-
}, [program, dataLength]);
|
|
63
|
-
const scheduleRender = React.useCallback(() => {
|
|
64
|
-
renderScheduledRef.current = true;
|
|
65
|
-
}, []);
|
|
66
|
-
|
|
67
|
-
// On resize render directly to avoid a frame where the canvas is blank
|
|
68
|
-
(0, _useWebGLResizeObserver.useWebGLResizeObserver)(render);
|
|
69
70
|
React.useEffect(() => {
|
|
70
71
|
program?.setResolution(drawingArea.width, drawingArea.height);
|
|
71
|
-
|
|
72
|
-
}, [drawingArea.height, drawingArea.width, gl,
|
|
72
|
+
requestRender();
|
|
73
|
+
}, [drawingArea.height, drawingArea.width, gl, requestRender, program]);
|
|
73
74
|
const candleWidth = xScale.bandwidth();
|
|
74
75
|
React.useEffect(() => {
|
|
75
76
|
program?.setCandleWidth(candleWidth);
|
|
76
|
-
|
|
77
|
-
}, [candleWidth, gl, program,
|
|
77
|
+
requestRender();
|
|
78
|
+
}, [candleWidth, gl, program, requestRender]);
|
|
78
79
|
const plotData = (0, _useCandlestickPlotData.useCandlestickPlotData)(drawingArea, series, xScale, yScale);
|
|
79
80
|
React.useEffect(() => {
|
|
80
81
|
program?.plot(plotData);
|
|
81
|
-
|
|
82
|
-
}, [gl, plotData, program,
|
|
83
|
-
React.useEffect(() => {
|
|
84
|
-
if (renderScheduledRef.current) {
|
|
85
|
-
render();
|
|
86
|
-
}
|
|
87
|
-
});
|
|
82
|
+
requestRender();
|
|
83
|
+
}, [gl, plotData, program, requestRender]);
|
|
88
84
|
return null;
|
|
89
85
|
}
|
|
@@ -5,8 +5,7 @@ import { useDrawingArea } from '@mui/x-charts/internals';
|
|
|
5
5
|
import { useXScale, useYScale } from '@mui/x-charts/hooks';
|
|
6
6
|
import { useOHLCSeriesContext } from "../hooks/useOHLCSeries.mjs";
|
|
7
7
|
import { useCandlestickPlotData } from "./useCandlestickPlotData.mjs";
|
|
8
|
-
import {
|
|
9
|
-
import { useWebGLContext } from "../ChartsWebGLLayer/ChartsWebGLLayer.mjs";
|
|
8
|
+
import { useWebGLLayer } from "../ChartsWebGLLayer/ChartsWebGLContext.mjs";
|
|
10
9
|
import { checkCandlestickScaleErrors } from "./checkCandlestickScaleErrors.mjs";
|
|
11
10
|
import { CandlestickWebGLProgram } from "./CandlestickWebGLProgram.mjs";
|
|
12
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -14,26 +13,29 @@ export function CandlestickPlot() {
|
|
|
14
13
|
return /*#__PURE__*/_jsx(CandlestickWebGLPlot, {});
|
|
15
14
|
}
|
|
16
15
|
function CandlestickWebGLPlot() {
|
|
17
|
-
const
|
|
16
|
+
const layer = useWebGLLayer();
|
|
18
17
|
const series = useOHLCSeriesContext();
|
|
19
18
|
const seriesToDisplay = series?.series[series.seriesOrder[0]];
|
|
20
19
|
const isHidden = !seriesToDisplay || seriesToDisplay.hidden;
|
|
21
20
|
React.useEffect(() => {
|
|
22
|
-
if (
|
|
23
|
-
|
|
24
|
-
gl.clear(gl.COLOR_BUFFER_BIT);
|
|
21
|
+
if (layer && isHidden) {
|
|
22
|
+
layer.requestRender();
|
|
25
23
|
}
|
|
26
|
-
}, [
|
|
27
|
-
if (!
|
|
24
|
+
}, [layer, isHidden]);
|
|
25
|
+
if (!layer || isHidden) {
|
|
28
26
|
return null;
|
|
29
27
|
}
|
|
30
28
|
return /*#__PURE__*/_jsx(CandlestickWebGLPlotImpl, {
|
|
31
|
-
gl: gl,
|
|
29
|
+
gl: layer.gl,
|
|
30
|
+
registerDraw: layer.registerDraw,
|
|
31
|
+
requestRender: layer.requestRender,
|
|
32
32
|
series: seriesToDisplay
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
35
|
function CandlestickWebGLPlotImpl({
|
|
36
36
|
gl,
|
|
37
|
+
registerDraw,
|
|
38
|
+
requestRender,
|
|
37
39
|
series
|
|
38
40
|
}) {
|
|
39
41
|
const drawingArea = useDrawingArea();
|
|
@@ -42,7 +44,16 @@ function CandlestickWebGLPlotImpl({
|
|
|
42
44
|
checkCandlestickScaleErrors(series.id, xScale);
|
|
43
45
|
const [program, setProgram] = React.useState(null);
|
|
44
46
|
const dataLength = series.data.length;
|
|
45
|
-
const
|
|
47
|
+
const drawRef = React.useRef(null);
|
|
48
|
+
React.useEffect(() => {
|
|
49
|
+
drawRef.current = () => {
|
|
50
|
+
program?.render(dataLength);
|
|
51
|
+
};
|
|
52
|
+
}, [program, dataLength]);
|
|
53
|
+
React.useEffect(() => {
|
|
54
|
+
const unregister = registerDraw(drawRef);
|
|
55
|
+
return unregister;
|
|
56
|
+
}, [registerDraw]);
|
|
46
57
|
React.useEffect(() => {
|
|
47
58
|
const prog = new CandlestickWebGLProgram(gl);
|
|
48
59
|
setProgram(prog);
|
|
@@ -50,34 +61,19 @@ function CandlestickWebGLPlotImpl({
|
|
|
50
61
|
prog.dispose();
|
|
51
62
|
};
|
|
52
63
|
}, [gl]);
|
|
53
|
-
const render = React.useCallback(() => {
|
|
54
|
-
renderScheduledRef.current = false;
|
|
55
|
-
program?.render(dataLength);
|
|
56
|
-
}, [program, dataLength]);
|
|
57
|
-
const scheduleRender = React.useCallback(() => {
|
|
58
|
-
renderScheduledRef.current = true;
|
|
59
|
-
}, []);
|
|
60
|
-
|
|
61
|
-
// On resize render directly to avoid a frame where the canvas is blank
|
|
62
|
-
useWebGLResizeObserver(render);
|
|
63
64
|
React.useEffect(() => {
|
|
64
65
|
program?.setResolution(drawingArea.width, drawingArea.height);
|
|
65
|
-
|
|
66
|
-
}, [drawingArea.height, drawingArea.width, gl,
|
|
66
|
+
requestRender();
|
|
67
|
+
}, [drawingArea.height, drawingArea.width, gl, requestRender, program]);
|
|
67
68
|
const candleWidth = xScale.bandwidth();
|
|
68
69
|
React.useEffect(() => {
|
|
69
70
|
program?.setCandleWidth(candleWidth);
|
|
70
|
-
|
|
71
|
-
}, [candleWidth, gl, program,
|
|
71
|
+
requestRender();
|
|
72
|
+
}, [candleWidth, gl, program, requestRender]);
|
|
72
73
|
const plotData = useCandlestickPlotData(drawingArea, series, xScale, yScale);
|
|
73
74
|
React.useEffect(() => {
|
|
74
75
|
program?.plot(plotData);
|
|
75
|
-
|
|
76
|
-
}, [gl, plotData, program,
|
|
77
|
-
React.useEffect(() => {
|
|
78
|
-
if (renderScheduledRef.current) {
|
|
79
|
-
render();
|
|
80
|
-
}
|
|
81
|
-
});
|
|
76
|
+
requestRender();
|
|
77
|
+
}, [gl, plotData, program, requestRender]);
|
|
82
78
|
return null;
|
|
83
79
|
}
|
|
@@ -127,9 +127,6 @@ class CandlestickWebGLProgram {
|
|
|
127
127
|
this.gl.bindVertexArray(null);
|
|
128
128
|
}
|
|
129
129
|
render(dataLength) {
|
|
130
|
-
// Clear and draw
|
|
131
|
-
this.gl.clearColor(0, 0, 0, 0.0);
|
|
132
|
-
this.gl.clear(this.gl.COLOR_BUFFER_BIT);
|
|
133
130
|
this.gl.useProgram(this.wickProgram);
|
|
134
131
|
(0, _utils.logWebGLErrors)(this.gl);
|
|
135
132
|
this.gl.bindVertexArray(this.wickVao);
|
|
@@ -121,9 +121,6 @@ export class CandlestickWebGLProgram {
|
|
|
121
121
|
this.gl.bindVertexArray(null);
|
|
122
122
|
}
|
|
123
123
|
render(dataLength) {
|
|
124
|
-
// Clear and draw
|
|
125
|
-
this.gl.clearColor(0, 0, 0, 0.0);
|
|
126
|
-
this.gl.clear(this.gl.COLOR_BUFFER_BIT);
|
|
127
124
|
this.gl.useProgram(this.wickProgram);
|
|
128
125
|
logWebGLErrors(this.gl);
|
|
129
126
|
this.gl.bindVertexArray(this.wickVao);
|
|
@@ -11,6 +11,7 @@ export declare function getSeriesWithDefaultValues(seriesData: AllSeriesType<'oh
|
|
|
11
11
|
dataIndex: number;
|
|
12
12
|
field: import("../../index.mjs").OHLCField;
|
|
13
13
|
}) => string | null;
|
|
14
|
+
valueGetter?: (item: import("@mui/x-charts/internals").DatasetElementType<unknown>) => import("../../index.mjs").OHLCValueType | null;
|
|
14
15
|
datasetKeys?: {
|
|
15
16
|
open: string;
|
|
16
17
|
high: string;
|
|
@@ -11,6 +11,7 @@ export declare function getSeriesWithDefaultValues(seriesData: AllSeriesType<'oh
|
|
|
11
11
|
dataIndex: number;
|
|
12
12
|
field: import("../../index.js").OHLCField;
|
|
13
13
|
}) => string | null;
|
|
14
|
+
valueGetter?: (item: import("@mui/x-charts/internals").DatasetElementType<unknown>) => import("../../index.js").OHLCValueType | null;
|
|
14
15
|
datasetKeys?: {
|
|
15
16
|
open: string;
|
|
16
17
|
high: string;
|
|
@@ -27,21 +27,19 @@ Either provide a data property to the series or use the dataset prop.` : (0, _fo
|
|
|
27
27
|
throw new Error(process.env.NODE_ENV !== "production" ? `MUI X Charts: OHLC series with id='${id}' has incomplete datasetKeys.
|
|
28
28
|
Properties ${missingKeys.map(key => `"${key}"`).join(', ')} are missing.` : (0, _formatErrorMessage2.default)(204, id, missingKeys.map(key => `"${key}"`).join(', ')));
|
|
29
29
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const
|
|
38
|
-
const
|
|
39
|
-
const low = data[datasetKeys.low];
|
|
40
|
-
const close = data[datasetKeys.close];
|
|
30
|
+
let data;
|
|
31
|
+
if (seriesData.valueGetter) {
|
|
32
|
+
data = dataset.map(d => seriesData.valueGetter(d));
|
|
33
|
+
} else if (datasetKeys) {
|
|
34
|
+
data = dataset.map(d => {
|
|
35
|
+
const open = d[datasetKeys.open];
|
|
36
|
+
const high = d[datasetKeys.high];
|
|
37
|
+
const low = d[datasetKeys.low];
|
|
38
|
+
const close = d[datasetKeys.close];
|
|
41
39
|
if (typeof open !== 'number' || typeof high !== 'number' || typeof low !== 'number' || typeof close !== 'number') {
|
|
42
40
|
if (process.env.NODE_ENV !== 'production') {
|
|
43
41
|
for (const key of ['open', 'high', 'low', 'close']) {
|
|
44
|
-
if (
|
|
42
|
+
if (d[datasetKeys[key]] !== null && typeof d[datasetKeys[key]] !== 'number') {
|
|
45
43
|
(0, _warning.warnOnce)([`MUI X Charts: Your dataset key "${key}" is used for plotting a candlestick, but contains non-numerical elements.`, 'Candlestick charts only support numbers.']);
|
|
46
44
|
}
|
|
47
45
|
}
|
|
@@ -49,7 +47,17 @@ Properties ${missingKeys.map(key => `"${key}"`).join(', ')} are missing.` : (0,
|
|
|
49
47
|
return null;
|
|
50
48
|
}
|
|
51
49
|
return [open, high, low, close];
|
|
52
|
-
})
|
|
50
|
+
});
|
|
51
|
+
} else {
|
|
52
|
+
data = series[id].data;
|
|
53
|
+
}
|
|
54
|
+
completedSeries[id] = (0, _extends2.default)({}, series[id], {
|
|
55
|
+
valueFormatter: series[id].valueFormatter ?? candlestickValueFormatter,
|
|
56
|
+
hidden: !isItemVisible?.({
|
|
57
|
+
type: 'ohlc',
|
|
58
|
+
seriesId: id
|
|
59
|
+
}),
|
|
60
|
+
data
|
|
53
61
|
});
|
|
54
62
|
}
|
|
55
63
|
return {
|
|
@@ -20,21 +20,19 @@ Either provide a data property to the series or use the dataset prop.` : _format
|
|
|
20
20
|
throw new Error(process.env.NODE_ENV !== "production" ? `MUI X Charts: OHLC series with id='${id}' has incomplete datasetKeys.
|
|
21
21
|
Properties ${missingKeys.map(key => `"${key}"`).join(', ')} are missing.` : _formatErrorMessage(204, id, missingKeys.map(key => `"${key}"`).join(', ')));
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
const low = data[datasetKeys.low];
|
|
33
|
-
const close = data[datasetKeys.close];
|
|
23
|
+
let data;
|
|
24
|
+
if (seriesData.valueGetter) {
|
|
25
|
+
data = dataset.map(d => seriesData.valueGetter(d));
|
|
26
|
+
} else if (datasetKeys) {
|
|
27
|
+
data = dataset.map(d => {
|
|
28
|
+
const open = d[datasetKeys.open];
|
|
29
|
+
const high = d[datasetKeys.high];
|
|
30
|
+
const low = d[datasetKeys.low];
|
|
31
|
+
const close = d[datasetKeys.close];
|
|
34
32
|
if (typeof open !== 'number' || typeof high !== 'number' || typeof low !== 'number' || typeof close !== 'number') {
|
|
35
33
|
if (process.env.NODE_ENV !== 'production') {
|
|
36
34
|
for (const key of ['open', 'high', 'low', 'close']) {
|
|
37
|
-
if (
|
|
35
|
+
if (d[datasetKeys[key]] !== null && typeof d[datasetKeys[key]] !== 'number') {
|
|
38
36
|
warnOnce([`MUI X Charts: Your dataset key "${key}" is used for plotting a candlestick, but contains non-numerical elements.`, 'Candlestick charts only support numbers.']);
|
|
39
37
|
}
|
|
40
38
|
}
|
|
@@ -42,7 +40,17 @@ Properties ${missingKeys.map(key => `"${key}"`).join(', ')} are missing.` : _for
|
|
|
42
40
|
return null;
|
|
43
41
|
}
|
|
44
42
|
return [open, high, low, close];
|
|
45
|
-
})
|
|
43
|
+
});
|
|
44
|
+
} else {
|
|
45
|
+
data = series[id].data;
|
|
46
|
+
}
|
|
47
|
+
completedSeries[id] = _extends({}, series[id], {
|
|
48
|
+
valueFormatter: series[id].valueFormatter ?? candlestickValueFormatter,
|
|
49
|
+
hidden: !isItemVisible?.({
|
|
50
|
+
type: 'ohlc',
|
|
51
|
+
seriesId: id
|
|
52
|
+
}),
|
|
53
|
+
data
|
|
46
54
|
});
|
|
47
55
|
}
|
|
48
56
|
return {
|
|
@@ -19,8 +19,8 @@ var _useChartsDataProviderPremiumProps = require("./useChartsDataProviderPremium
|
|
|
19
19
|
var _seriesConfig2 = require("../CandlestickChart/seriesConfig");
|
|
20
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
21
|
const packageInfo = {
|
|
22
|
-
releaseDate: "
|
|
23
|
-
version: "9.0.
|
|
22
|
+
releaseDate: "MTc3NzI0ODAwMDAwMA==",
|
|
23
|
+
version: "9.0.3",
|
|
24
24
|
name: 'x-charts-premium'
|
|
25
25
|
};
|
|
26
26
|
const defaultSeriesConfigPremium = exports.defaultSeriesConfigPremium = (0, _extends2.default)({}, _internals2.defaultSeriesConfigPro, {
|
|
@@ -13,8 +13,8 @@ import { useChartsDataProviderPremiumProps } from "./useChartsDataProviderPremiu
|
|
|
13
13
|
import { ohlcSeriesConfig } from "../CandlestickChart/seriesConfig/index.mjs";
|
|
14
14
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
15
|
const packageInfo = {
|
|
16
|
-
releaseDate: "
|
|
17
|
-
version: "9.0.
|
|
16
|
+
releaseDate: "MTc3NzI0ODAwMDAwMA==",
|
|
17
|
+
version: "9.0.3",
|
|
18
18
|
name: 'x-charts-premium'
|
|
19
19
|
};
|
|
20
20
|
export const defaultSeriesConfigPremium = _extends({}, defaultSeriesConfigPro, {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@mui/x-charts/ChartsRadialDataProvider';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@mui/x-charts/ChartsRadialDataProvider';
|