@gravity-ui/charts 1.46.0 → 1.47.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/ChartInner/index.js +1 -0
- package/dist/cjs/components/ChartInner/useChartInnerProps.d.ts +1 -0
- package/dist/cjs/components/ChartInner/useChartInnerProps.js +13 -6
- package/dist/cjs/components/Legend/index.js +13 -14
- package/dist/cjs/components/Tooltip/index.js +22 -1
- package/dist/cjs/core/axes/x-axis.js +1 -1
- package/dist/cjs/core/axes/y-axis.js +1 -1
- package/dist/cjs/core/brush/index.d.ts +2 -0
- package/dist/cjs/core/brush/index.js +2 -0
- package/dist/cjs/{hooks/useBrush → core/brush}/types.d.ts +2 -2
- package/dist/cjs/{hooks/useBrush → core/brush}/utils.d.ts +1 -1
- package/dist/cjs/core/chart/index.d.ts +1 -0
- package/dist/cjs/core/chart/index.js +1 -0
- package/dist/cjs/core/chart/types.d.ts +8 -0
- package/dist/cjs/core/index.d.ts +3 -0
- package/dist/cjs/core/index.js +3 -0
- package/dist/cjs/core/layout/chart-dimensions.d.ts +1 -1
- package/dist/cjs/core/range-slider/index.d.ts +2 -0
- package/dist/cjs/core/range-slider/index.js +2 -0
- package/dist/cjs/core/range-slider/types.d.ts +4 -0
- package/dist/{esm/hooks/useRangeSlider → cjs/core/range-slider}/utils.d.ts +5 -5
- package/dist/{esm/hooks/useRangeSlider → cjs/core/range-slider}/utils.js +1 -1
- package/dist/cjs/core/scales/utils.d.ts +1 -1
- package/dist/cjs/core/scales/utils.js +1 -1
- package/dist/cjs/core/scales/x-scale.d.ts +2 -2
- package/dist/cjs/core/scales/x-scale.js +2 -2
- package/dist/cjs/core/scales/y-scale.js +69 -4
- package/dist/cjs/core/series/prepare-area.js +1 -1
- package/dist/cjs/core/series/prepare-bar-x.js +1 -1
- package/dist/cjs/core/series/prepare-bar-y.js +1 -1
- package/dist/cjs/core/series/prepare-funnel.js +1 -1
- package/dist/cjs/core/series/prepare-heatmap.js +1 -1
- package/dist/cjs/core/series/prepare-legend.d.ts +1 -1
- package/dist/cjs/core/series/prepare-legend.js +2 -2
- package/dist/cjs/core/series/prepare-line.js +1 -1
- package/dist/cjs/core/series/prepare-pie.js +1 -1
- package/dist/cjs/core/series/prepare-radar.js +1 -1
- package/dist/cjs/core/series/prepare-sankey.js +1 -1
- package/dist/cjs/core/series/prepare-scatter.js +1 -1
- package/dist/cjs/core/series/prepare-treemap.js +1 -1
- package/dist/cjs/core/series/prepare-waterfall.js +1 -1
- package/dist/cjs/core/series/prepare-x-range.js +1 -1
- package/dist/cjs/core/series/prepareSeries.d.ts +7 -1
- package/dist/cjs/core/series/prepareSeries.js +31 -0
- package/dist/cjs/core/series/types.d.ts +5 -0
- package/dist/cjs/core/series/utils.d.ts +4 -0
- package/dist/cjs/core/series/utils.js +9 -1
- package/dist/cjs/{hooks/useShapes/annotation/index.d.ts → core/shapes/annotation.d.ts} +1 -7
- package/dist/cjs/{hooks/useShapes/annotation/index.js → core/shapes/annotation.js} +2 -2
- package/dist/cjs/{hooks/useShapes → core/shapes}/area/prepare-data.d.ts +4 -4
- package/dist/cjs/{hooks/useShapes → core/shapes}/area/prepare-data.js +9 -4
- package/dist/cjs/core/shapes/area/renderer.d.ts +11 -0
- package/dist/cjs/core/shapes/area/renderer.js +175 -0
- package/dist/cjs/{hooks/useShapes → core/shapes}/area/types.d.ts +7 -8
- package/dist/{esm/hooks/useShapes → cjs/core/shapes}/bar-x/prepare-data.d.ts +4 -4
- package/dist/{esm/hooks/useShapes → cjs/core/shapes}/bar-x/prepare-data.js +6 -6
- package/dist/cjs/core/shapes/bar-x/renderer.d.ts +9 -0
- package/dist/cjs/core/shapes/bar-x/renderer.js +104 -0
- package/dist/cjs/{hooks/useShapes → core/shapes}/bar-x/types.d.ts +1 -2
- package/dist/{esm/hooks/useShapes → cjs/core/shapes}/bar-y/prepare-data.d.ts +3 -3
- package/dist/{esm/hooks/useShapes → cjs/core/shapes}/bar-y/prepare-data.js +3 -3
- package/dist/cjs/core/shapes/bar-y/renderer.d.ts +6 -0
- package/dist/cjs/core/shapes/bar-y/renderer.js +74 -0
- package/dist/cjs/{hooks/useShapes → core/shapes}/bar-y/types.d.ts +1 -1
- package/dist/cjs/{hooks/useShapes → core/shapes}/bar-y/utils.js +1 -1
- package/dist/cjs/core/shapes/data-labels.d.ts +15 -0
- package/dist/cjs/core/shapes/data-labels.js +15 -0
- package/dist/cjs/{hooks/useShapes → core/shapes}/funnel/prepare-data.d.ts +1 -1
- package/dist/{esm/hooks/useShapes → cjs/core/shapes}/funnel/prepare-data.js +1 -1
- package/dist/cjs/core/shapes/funnel/renderer.d.ts +6 -0
- package/dist/cjs/core/shapes/funnel/renderer.js +74 -0
- package/dist/cjs/{hooks/useShapes → core/shapes}/funnel/types.d.ts +2 -2
- package/dist/cjs/{hooks/useShapes → core/shapes}/heatmap/prepare-data.d.ts +3 -3
- package/dist/cjs/{hooks/useShapes → core/shapes}/heatmap/prepare-data.js +3 -2
- package/dist/cjs/core/shapes/heatmap/renderer.d.ts +6 -0
- package/dist/cjs/core/shapes/heatmap/renderer.js +50 -0
- package/dist/{esm/hooks/useShapes → cjs/core/shapes}/heatmap/types.d.ts +2 -1
- package/dist/{esm/hooks/useShapes → cjs/core/shapes}/line/prepare-data.d.ts +4 -4
- package/dist/cjs/{hooks/useShapes → core/shapes}/line/prepare-data.js +12 -4
- package/dist/cjs/core/shapes/line/renderer.d.ts +11 -0
- package/dist/cjs/core/shapes/line/renderer.js +161 -0
- package/dist/{esm/hooks/useShapes → cjs/core/shapes}/line/types.d.ts +7 -8
- package/dist/cjs/core/shapes/marker.d.ts +45 -0
- package/dist/{esm/hooks/useShapes → cjs/core/shapes}/marker.js +2 -2
- package/dist/cjs/{hooks/useShapes → core/shapes}/pie/prepare-data.d.ts +1 -1
- package/dist/cjs/{hooks/useShapes → core/shapes}/pie/prepare-data.js +3 -3
- package/dist/cjs/core/shapes/pie/renderer.d.ts +8 -0
- package/dist/cjs/core/shapes/pie/renderer.js +160 -0
- package/dist/cjs/{hooks/useShapes → core/shapes}/pie/types.d.ts +1 -1
- package/dist/cjs/{hooks/useShapes → core/shapes}/radar/prepare-data.d.ts +1 -1
- package/dist/{esm/hooks/useShapes → cjs/core/shapes}/radar/prepare-data.js +2 -2
- package/dist/cjs/core/shapes/radar/renderer.d.ts +6 -0
- package/dist/cjs/core/shapes/radar/renderer.js +122 -0
- package/dist/cjs/{hooks/useShapes → core/shapes}/radar/types.d.ts +1 -1
- package/dist/cjs/{hooks/useShapes → core/shapes}/sankey/prepare-data.d.ts +1 -1
- package/dist/cjs/{hooks/useShapes → core/shapes}/sankey/prepare-data.js +1 -1
- package/dist/cjs/core/shapes/sankey/renderer.d.ts +6 -0
- package/dist/cjs/core/shapes/sankey/renderer.js +44 -0
- package/dist/{esm/hooks/useShapes → cjs/core/shapes}/sankey/types.d.ts +1 -1
- package/dist/{esm/hooks/useShapes → cjs/core/shapes}/scatter/prepare-data.d.ts +3 -3
- package/dist/cjs/{hooks/useShapes → core/shapes}/scatter/prepare-data.js +2 -2
- package/dist/cjs/core/shapes/scatter/renderer.d.ts +6 -0
- package/dist/cjs/core/shapes/scatter/renderer.js +52 -0
- package/dist/cjs/{hooks/useShapes → core/shapes}/scatter/types.d.ts +1 -1
- package/dist/cjs/{hooks/useShapes → core/shapes}/treemap/prepare-data.d.ts +1 -1
- package/dist/{esm/hooks/useShapes → cjs/core/shapes}/treemap/prepare-data.js +3 -3
- package/dist/cjs/core/shapes/treemap/renderer.d.ts +6 -0
- package/dist/cjs/core/shapes/treemap/renderer.js +88 -0
- package/dist/cjs/{hooks/useShapes → core/shapes}/treemap/types.d.ts +1 -1
- package/dist/cjs/core/shapes/utils.d.ts +76 -0
- package/dist/cjs/core/shapes/utils.js +186 -0
- package/dist/cjs/{hooks/useShapes → core/shapes}/waterfall/prepare-data.d.ts +3 -3
- package/dist/{esm/hooks/useShapes → cjs/core/shapes}/waterfall/prepare-data.js +4 -4
- package/dist/cjs/core/shapes/waterfall/renderer.d.ts +6 -0
- package/dist/cjs/core/shapes/waterfall/renderer.js +109 -0
- package/dist/cjs/{hooks/useShapes → core/shapes}/waterfall/types.d.ts +1 -1
- package/dist/cjs/{hooks/useShapes → core/shapes}/x-range/prepare-data.d.ts +3 -3
- package/dist/cjs/{hooks/useShapes → core/shapes}/x-range/prepare-data.js +4 -4
- package/dist/cjs/core/shapes/x-range/renderer.d.ts +6 -0
- package/dist/cjs/core/shapes/x-range/renderer.js +88 -0
- package/dist/cjs/{hooks/useShapes → core/shapes}/x-range/types.d.ts +1 -1
- package/dist/cjs/core/types/chart/area.d.ts +0 -1
- package/dist/cjs/core/types/chart/axis.d.ts +0 -1
- package/dist/cjs/core/types/chart/base.d.ts +18 -7
- package/dist/cjs/core/types/chart/tooltip.d.ts +3 -3
- package/dist/cjs/core/types/formatter.d.ts +1 -40
- package/dist/{esm/hooks/utils/get-band-size.js → cjs/core/utils/band-size.js} +1 -1
- package/dist/cjs/{hooks → core}/utils/bar-y.d.ts +3 -3
- package/dist/{esm/hooks → cjs/core}/utils/bar-y.js +4 -4
- package/dist/cjs/core/utils/format.d.ts +2 -2
- package/dist/cjs/core/utils/get-closest-data.d.ts +1 -1
- package/dist/cjs/core/utils/get-closest-data.js +13 -8
- package/dist/cjs/core/utils/series/sorting.js +1 -1
- package/dist/cjs/core/utils/text.d.ts +0 -1
- package/dist/cjs/core/utils/text.js +0 -1
- package/dist/cjs/core/zoom/index.d.ts +2 -0
- package/dist/cjs/core/zoom/index.js +2 -0
- package/dist/{esm/hooks/useZoom → cjs/core/zoom}/utils.d.ts +3 -3
- package/dist/{esm/hooks/useZoom → cjs/core/zoom}/utils.js +1 -1
- package/dist/cjs/core/zoom/zoom.d.ts +3 -3
- package/dist/cjs/hooks/index.d.ts +3 -3
- package/dist/cjs/hooks/index.js +3 -3
- package/dist/cjs/hooks/types.d.ts +2 -8
- package/dist/cjs/hooks/useBrush/index.d.ts +1 -1
- package/dist/cjs/hooks/useBrush/index.js +1 -1
- package/dist/cjs/hooks/useRangeSlider/index.js +3 -3
- package/dist/cjs/hooks/useRangeSlider/types.d.ts +6 -8
- package/dist/cjs/hooks/useShapes/area/index.d.ts +2 -2
- package/dist/cjs/hooks/useShapes/area/index.js +13 -185
- package/dist/cjs/hooks/useShapes/bar-x/index.d.ts +4 -4
- package/dist/cjs/hooks/useShapes/bar-x/index.js +10 -119
- package/dist/cjs/hooks/useShapes/bar-y/index.d.ts +3 -3
- package/dist/cjs/hooks/useShapes/bar-y/index.js +5 -84
- package/dist/cjs/hooks/useShapes/funnel/index.d.ts +4 -4
- package/dist/cjs/hooks/useShapes/funnel/index.js +4 -83
- package/dist/cjs/hooks/useShapes/heatmap/index.d.ts +4 -4
- package/dist/cjs/hooks/useShapes/heatmap/index.js +4 -59
- package/dist/cjs/hooks/useShapes/index.d.ts +15 -16
- package/dist/cjs/hooks/useShapes/index.js +13 -13
- package/dist/cjs/hooks/useShapes/line/index.d.ts +2 -2
- package/dist/cjs/hooks/useShapes/line/index.js +14 -172
- package/dist/cjs/hooks/useShapes/pie/index.d.ts +3 -5
- package/dist/cjs/hooks/useShapes/pie/index.js +3 -158
- package/dist/cjs/hooks/useShapes/radar/index.d.ts +2 -2
- package/dist/cjs/hooks/useShapes/radar/index.js +2 -121
- package/dist/cjs/hooks/useShapes/sankey/index.d.ts +2 -2
- package/dist/cjs/hooks/useShapes/sankey/index.js +2 -51
- package/dist/cjs/hooks/useShapes/scatter/index.d.ts +3 -3
- package/dist/cjs/hooks/useShapes/scatter/index.js +3 -58
- package/dist/cjs/hooks/useShapes/treemap/index.d.ts +2 -2
- package/dist/cjs/hooks/useShapes/treemap/index.js +2 -88
- package/dist/cjs/hooks/useShapes/utils.d.ts +3 -53
- package/dist/cjs/hooks/useShapes/utils.js +3 -140
- package/dist/cjs/hooks/useShapes/waterfall/index.d.ts +4 -4
- package/dist/cjs/hooks/useShapes/waterfall/index.js +6 -119
- package/dist/cjs/hooks/useShapes/x-range/index.d.ts +4 -4
- package/dist/cjs/hooks/useShapes/x-range/index.js +3 -98
- package/dist/cjs/hooks/useZoom/index.d.ts +1 -1
- package/dist/cjs/hooks/useZoom/index.js +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/libs/format-number/index.js +82 -14
- package/dist/cjs/libs/format-number/presets.d.ts +40 -0
- package/dist/cjs/libs/format-number/presets.js +66 -0
- package/dist/cjs/libs/format-number/types.d.ts +82 -3
- package/dist/cjs/setup-jsdom.js +7 -0
- package/dist/esm/components/ChartInner/index.js +1 -0
- package/dist/esm/components/ChartInner/useChartInnerProps.d.ts +1 -0
- package/dist/esm/components/ChartInner/useChartInnerProps.js +13 -6
- package/dist/esm/components/Legend/index.js +13 -14
- package/dist/esm/components/Tooltip/index.js +22 -1
- package/dist/esm/core/axes/x-axis.js +1 -1
- package/dist/esm/core/axes/y-axis.js +1 -1
- package/dist/esm/core/brush/index.d.ts +2 -0
- package/dist/esm/core/brush/index.js +2 -0
- package/dist/esm/{hooks/useBrush → core/brush}/types.d.ts +2 -2
- package/dist/esm/{hooks/useBrush → core/brush}/utils.d.ts +1 -1
- package/dist/esm/core/chart/index.d.ts +1 -0
- package/dist/esm/core/chart/index.js +1 -0
- package/dist/esm/core/chart/types.d.ts +8 -0
- package/dist/esm/core/index.d.ts +3 -0
- package/dist/esm/core/index.js +3 -0
- package/dist/esm/core/layout/chart-dimensions.d.ts +1 -1
- package/dist/esm/core/range-slider/index.d.ts +2 -0
- package/dist/esm/core/range-slider/index.js +2 -0
- package/dist/esm/core/range-slider/types.d.ts +4 -0
- package/dist/{cjs/hooks/useRangeSlider → esm/core/range-slider}/utils.d.ts +5 -5
- package/dist/{cjs/hooks/useRangeSlider → esm/core/range-slider}/utils.js +1 -1
- package/dist/esm/core/scales/utils.d.ts +1 -1
- package/dist/esm/core/scales/utils.js +1 -1
- package/dist/esm/core/scales/x-scale.d.ts +2 -2
- package/dist/esm/core/scales/x-scale.js +2 -2
- package/dist/esm/core/scales/y-scale.js +69 -4
- package/dist/esm/core/series/prepare-area.js +1 -1
- package/dist/esm/core/series/prepare-bar-x.js +1 -1
- package/dist/esm/core/series/prepare-bar-y.js +1 -1
- package/dist/esm/core/series/prepare-funnel.js +1 -1
- package/dist/esm/core/series/prepare-heatmap.js +1 -1
- package/dist/esm/core/series/prepare-legend.d.ts +1 -1
- package/dist/esm/core/series/prepare-legend.js +2 -2
- package/dist/esm/core/series/prepare-line.js +1 -1
- package/dist/esm/core/series/prepare-pie.js +1 -1
- package/dist/esm/core/series/prepare-radar.js +1 -1
- package/dist/esm/core/series/prepare-sankey.js +1 -1
- package/dist/esm/core/series/prepare-scatter.js +1 -1
- package/dist/esm/core/series/prepare-treemap.js +1 -1
- package/dist/esm/core/series/prepare-waterfall.js +1 -1
- package/dist/esm/core/series/prepare-x-range.js +1 -1
- package/dist/esm/core/series/prepareSeries.d.ts +7 -1
- package/dist/esm/core/series/prepareSeries.js +31 -0
- package/dist/esm/core/series/types.d.ts +5 -0
- package/dist/esm/core/series/utils.d.ts +4 -0
- package/dist/esm/core/series/utils.js +9 -1
- package/dist/esm/{hooks/useShapes/annotation/index.d.ts → core/shapes/annotation.d.ts} +1 -7
- package/dist/esm/{hooks/useShapes/annotation/index.js → core/shapes/annotation.js} +2 -2
- package/dist/esm/{hooks/useShapes → core/shapes}/area/prepare-data.d.ts +4 -4
- package/dist/esm/{hooks/useShapes → core/shapes}/area/prepare-data.js +9 -4
- package/dist/esm/core/shapes/area/renderer.d.ts +11 -0
- package/dist/esm/core/shapes/area/renderer.js +175 -0
- package/dist/esm/{hooks/useShapes → core/shapes}/area/types.d.ts +7 -8
- package/dist/{cjs/hooks/useShapes → esm/core/shapes}/bar-x/prepare-data.d.ts +4 -4
- package/dist/{cjs/hooks/useShapes → esm/core/shapes}/bar-x/prepare-data.js +6 -6
- package/dist/esm/core/shapes/bar-x/renderer.d.ts +9 -0
- package/dist/esm/core/shapes/bar-x/renderer.js +104 -0
- package/dist/esm/{hooks/useShapes → core/shapes}/bar-x/types.d.ts +1 -2
- package/dist/{cjs/hooks/useShapes → esm/core/shapes}/bar-y/prepare-data.d.ts +3 -3
- package/dist/{cjs/hooks/useShapes → esm/core/shapes}/bar-y/prepare-data.js +3 -3
- package/dist/esm/core/shapes/bar-y/renderer.d.ts +6 -0
- package/dist/esm/core/shapes/bar-y/renderer.js +74 -0
- package/dist/esm/{hooks/useShapes → core/shapes}/bar-y/types.d.ts +1 -1
- package/dist/esm/{hooks/useShapes → core/shapes}/bar-y/utils.js +1 -1
- package/dist/esm/core/shapes/data-labels.d.ts +15 -0
- package/dist/esm/core/shapes/data-labels.js +15 -0
- package/dist/esm/{hooks/useShapes → core/shapes}/funnel/prepare-data.d.ts +1 -1
- package/dist/{cjs/hooks/useShapes → esm/core/shapes}/funnel/prepare-data.js +1 -1
- package/dist/esm/core/shapes/funnel/renderer.d.ts +6 -0
- package/dist/esm/core/shapes/funnel/renderer.js +74 -0
- package/dist/esm/{hooks/useShapes → core/shapes}/funnel/types.d.ts +2 -2
- package/dist/esm/{hooks/useShapes → core/shapes}/heatmap/prepare-data.d.ts +3 -3
- package/dist/esm/{hooks/useShapes → core/shapes}/heatmap/prepare-data.js +3 -2
- package/dist/esm/core/shapes/heatmap/renderer.d.ts +6 -0
- package/dist/esm/core/shapes/heatmap/renderer.js +50 -0
- package/dist/{cjs/hooks/useShapes → esm/core/shapes}/heatmap/types.d.ts +2 -1
- package/dist/{cjs/hooks/useShapes → esm/core/shapes}/line/prepare-data.d.ts +4 -4
- package/dist/esm/{hooks/useShapes → core/shapes}/line/prepare-data.js +12 -4
- package/dist/esm/core/shapes/line/renderer.d.ts +11 -0
- package/dist/esm/core/shapes/line/renderer.js +161 -0
- package/dist/{cjs/hooks/useShapes → esm/core/shapes}/line/types.d.ts +7 -8
- package/dist/esm/core/shapes/marker.d.ts +45 -0
- package/dist/{cjs/hooks/useShapes → esm/core/shapes}/marker.js +2 -2
- package/dist/esm/{hooks/useShapes → core/shapes}/pie/prepare-data.d.ts +1 -1
- package/dist/esm/{hooks/useShapes → core/shapes}/pie/prepare-data.js +3 -3
- package/dist/esm/core/shapes/pie/renderer.d.ts +8 -0
- package/dist/esm/core/shapes/pie/renderer.js +160 -0
- package/dist/esm/{hooks/useShapes → core/shapes}/pie/types.d.ts +1 -1
- package/dist/esm/{hooks/useShapes → core/shapes}/radar/prepare-data.d.ts +1 -1
- package/dist/{cjs/hooks/useShapes → esm/core/shapes}/radar/prepare-data.js +2 -2
- package/dist/esm/core/shapes/radar/renderer.d.ts +6 -0
- package/dist/esm/core/shapes/radar/renderer.js +122 -0
- package/dist/esm/{hooks/useShapes → core/shapes}/radar/types.d.ts +1 -1
- package/dist/esm/{hooks/useShapes → core/shapes}/sankey/prepare-data.d.ts +1 -1
- package/dist/esm/{hooks/useShapes → core/shapes}/sankey/prepare-data.js +1 -1
- package/dist/esm/core/shapes/sankey/renderer.d.ts +6 -0
- package/dist/esm/core/shapes/sankey/renderer.js +44 -0
- package/dist/{cjs/hooks/useShapes → esm/core/shapes}/sankey/types.d.ts +1 -1
- package/dist/{cjs/hooks/useShapes → esm/core/shapes}/scatter/prepare-data.d.ts +3 -3
- package/dist/esm/{hooks/useShapes → core/shapes}/scatter/prepare-data.js +2 -2
- package/dist/esm/core/shapes/scatter/renderer.d.ts +6 -0
- package/dist/esm/core/shapes/scatter/renderer.js +52 -0
- package/dist/esm/{hooks/useShapes → core/shapes}/scatter/types.d.ts +1 -1
- package/dist/esm/{hooks/useShapes → core/shapes}/treemap/prepare-data.d.ts +1 -1
- package/dist/{cjs/hooks/useShapes → esm/core/shapes}/treemap/prepare-data.js +3 -3
- package/dist/esm/core/shapes/treemap/renderer.d.ts +6 -0
- package/dist/esm/core/shapes/treemap/renderer.js +88 -0
- package/dist/esm/{hooks/useShapes → core/shapes}/treemap/types.d.ts +1 -1
- package/dist/esm/core/shapes/treemap/types.js +1 -0
- package/dist/esm/core/shapes/utils.d.ts +76 -0
- package/dist/esm/core/shapes/utils.js +186 -0
- package/dist/esm/{hooks/useShapes → core/shapes}/waterfall/prepare-data.d.ts +3 -3
- package/dist/{cjs/hooks/useShapes → esm/core/shapes}/waterfall/prepare-data.js +4 -4
- package/dist/esm/core/shapes/waterfall/renderer.d.ts +6 -0
- package/dist/esm/core/shapes/waterfall/renderer.js +109 -0
- package/dist/esm/{hooks/useShapes → core/shapes}/waterfall/types.d.ts +1 -1
- package/dist/esm/core/shapes/waterfall/types.js +1 -0
- package/dist/esm/{hooks/useShapes → core/shapes}/x-range/prepare-data.d.ts +3 -3
- package/dist/esm/{hooks/useShapes → core/shapes}/x-range/prepare-data.js +4 -4
- package/dist/esm/core/shapes/x-range/renderer.d.ts +6 -0
- package/dist/esm/core/shapes/x-range/renderer.js +88 -0
- package/dist/esm/{hooks/useShapes → core/shapes}/x-range/types.d.ts +1 -1
- package/dist/esm/core/shapes/x-range/types.js +1 -0
- package/dist/esm/core/types/chart/area.d.ts +0 -1
- package/dist/esm/core/types/chart/axis.d.ts +0 -1
- package/dist/esm/core/types/chart/base.d.ts +18 -7
- package/dist/esm/core/types/chart/tooltip.d.ts +3 -3
- package/dist/esm/core/types/formatter.d.ts +1 -40
- package/dist/{cjs/hooks/utils/get-band-size.js → esm/core/utils/band-size.js} +1 -1
- package/dist/esm/{hooks → core}/utils/bar-y.d.ts +3 -3
- package/dist/{cjs/hooks → esm/core}/utils/bar-y.js +4 -4
- package/dist/esm/core/utils/format.d.ts +2 -2
- package/dist/esm/core/utils/get-closest-data.d.ts +1 -1
- package/dist/esm/core/utils/get-closest-data.js +13 -8
- package/dist/esm/core/utils/series/sorting.js +1 -1
- package/dist/esm/core/utils/text.d.ts +0 -1
- package/dist/esm/core/utils/text.js +0 -1
- package/dist/esm/core/zoom/index.d.ts +2 -0
- package/dist/esm/core/zoom/index.js +2 -0
- package/dist/esm/core/zoom/types.js +1 -0
- package/dist/{cjs/hooks/useZoom → esm/core/zoom}/utils.d.ts +3 -3
- package/dist/{cjs/hooks/useZoom → esm/core/zoom}/utils.js +1 -1
- package/dist/esm/core/zoom/zoom.d.ts +3 -3
- package/dist/esm/hooks/index.d.ts +3 -3
- package/dist/esm/hooks/index.js +3 -3
- package/dist/esm/hooks/types.d.ts +2 -8
- package/dist/esm/hooks/useBrush/index.d.ts +1 -1
- package/dist/esm/hooks/useBrush/index.js +1 -1
- package/dist/esm/hooks/useRangeSlider/index.js +3 -3
- package/dist/esm/hooks/useRangeSlider/types.d.ts +6 -8
- package/dist/esm/hooks/useShapes/area/index.d.ts +2 -2
- package/dist/esm/hooks/useShapes/area/index.js +13 -185
- package/dist/esm/hooks/useShapes/bar-x/index.d.ts +4 -4
- package/dist/esm/hooks/useShapes/bar-x/index.js +10 -119
- package/dist/esm/hooks/useShapes/bar-y/index.d.ts +3 -3
- package/dist/esm/hooks/useShapes/bar-y/index.js +5 -84
- package/dist/esm/hooks/useShapes/funnel/index.d.ts +4 -4
- package/dist/esm/hooks/useShapes/funnel/index.js +4 -83
- package/dist/esm/hooks/useShapes/heatmap/index.d.ts +4 -4
- package/dist/esm/hooks/useShapes/heatmap/index.js +4 -59
- package/dist/esm/hooks/useShapes/index.d.ts +15 -16
- package/dist/esm/hooks/useShapes/index.js +13 -13
- package/dist/esm/hooks/useShapes/line/index.d.ts +2 -2
- package/dist/esm/hooks/useShapes/line/index.js +14 -172
- package/dist/esm/hooks/useShapes/pie/index.d.ts +3 -5
- package/dist/esm/hooks/useShapes/pie/index.js +3 -158
- package/dist/esm/hooks/useShapes/radar/index.d.ts +2 -2
- package/dist/esm/hooks/useShapes/radar/index.js +2 -121
- package/dist/esm/hooks/useShapes/sankey/index.d.ts +2 -2
- package/dist/esm/hooks/useShapes/sankey/index.js +2 -51
- package/dist/esm/hooks/useShapes/scatter/index.d.ts +3 -3
- package/dist/esm/hooks/useShapes/scatter/index.js +3 -58
- package/dist/esm/hooks/useShapes/treemap/index.d.ts +2 -2
- package/dist/esm/hooks/useShapes/treemap/index.js +2 -88
- package/dist/esm/hooks/useShapes/utils.d.ts +3 -53
- package/dist/esm/hooks/useShapes/utils.js +3 -140
- package/dist/esm/hooks/useShapes/waterfall/index.d.ts +4 -4
- package/dist/esm/hooks/useShapes/waterfall/index.js +6 -119
- package/dist/esm/hooks/useShapes/x-range/index.d.ts +4 -4
- package/dist/esm/hooks/useShapes/x-range/index.js +3 -98
- package/dist/esm/hooks/useZoom/index.d.ts +1 -1
- package/dist/esm/hooks/useZoom/index.js +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/libs/format-number/index.js +82 -14
- package/dist/esm/libs/format-number/presets.d.ts +40 -0
- package/dist/esm/libs/format-number/presets.js +66 -0
- package/dist/esm/libs/format-number/types.d.ts +82 -3
- package/dist/esm/setup-jsdom.js +7 -0
- package/package.json +5 -2
- package/dist/cjs/hooks/useSeries/index.d.ts +0 -12
- package/dist/cjs/hooks/useSeries/index.js +0 -40
- package/dist/cjs/hooks/useSeries/types.d.ts +0 -1
- package/dist/cjs/hooks/useSeries/types.js +0 -1
- package/dist/cjs/hooks/useSeries/utils.d.ts +0 -1
- package/dist/cjs/hooks/useSeries/utils.js +0 -1
- package/dist/cjs/hooks/useShapes/marker.d.ts +0 -15
- package/dist/cjs/hooks/utils/index.d.ts +0 -1
- package/dist/cjs/hooks/utils/index.js +0 -1
- package/dist/esm/hooks/useSeries/index.d.ts +0 -12
- package/dist/esm/hooks/useSeries/index.js +0 -40
- package/dist/esm/hooks/useSeries/types.d.ts +0 -1
- package/dist/esm/hooks/useSeries/types.js +0 -1
- package/dist/esm/hooks/useSeries/utils.d.ts +0 -1
- package/dist/esm/hooks/useSeries/utils.js +0 -1
- package/dist/esm/hooks/useShapes/marker.d.ts +0 -15
- package/dist/esm/hooks/utils/index.d.ts +0 -1
- package/dist/esm/hooks/utils/index.js +0 -1
- /package/dist/cjs/{hooks/useBrush → core/brush}/types.js +0 -0
- /package/dist/cjs/{hooks/useBrush → core/brush}/utils.js +0 -0
- /package/dist/cjs/{hooks/useShapes/area → core/chart}/types.js +0 -0
- /package/dist/cjs/{hooks/useShapes/bar-x → core/range-slider}/types.js +0 -0
- /package/dist/cjs/{hooks/useShapes/bar-y → core/shapes/area}/types.js +0 -0
- /package/dist/cjs/{hooks/constants.d.ts → core/shapes/bar-constants.d.ts} +0 -0
- /package/dist/cjs/{hooks/constants.js → core/shapes/bar-constants.js} +0 -0
- /package/dist/cjs/{hooks/useShapes/funnel → core/shapes/bar-x}/types.js +0 -0
- /package/dist/cjs/{hooks/useShapes/heatmap → core/shapes/bar-y}/types.js +0 -0
- /package/dist/cjs/{hooks/useShapes → core/shapes}/bar-y/utils.d.ts +0 -0
- /package/dist/cjs/{hooks/useShapes/line → core/shapes/funnel}/types.js +0 -0
- /package/dist/cjs/{hooks/useShapes/pie → core/shapes/heatmap}/types.js +0 -0
- /package/dist/cjs/{hooks/useShapes/radar → core/shapes/line}/types.js +0 -0
- /package/dist/cjs/{hooks/useShapes/sankey → core/shapes/pie}/types.js +0 -0
- /package/dist/cjs/{hooks/useShapes → core/shapes}/pie/utils.d.ts +0 -0
- /package/dist/cjs/{hooks/useShapes → core/shapes}/pie/utils.js +0 -0
- /package/dist/cjs/{hooks/useShapes/scatter → core/shapes/radar}/types.js +0 -0
- /package/dist/cjs/{hooks/useShapes → core/shapes}/sankey/sankey-layout.d.ts +0 -0
- /package/dist/cjs/{hooks/useShapes → core/shapes}/sankey/sankey-layout.js +0 -0
- /package/dist/cjs/{hooks/useShapes/treemap → core/shapes/sankey}/types.js +0 -0
- /package/dist/cjs/{hooks/useShapes/waterfall → core/shapes/scatter}/types.js +0 -0
- /package/dist/cjs/{hooks/useShapes/x-range → core/shapes/treemap}/types.js +0 -0
- /package/dist/cjs/{hooks/useZoom → core/shapes/waterfall}/types.js +0 -0
- /package/dist/{esm/hooks/useBrush → cjs/core/shapes/x-range}/types.js +0 -0
- /package/dist/cjs/{hooks/utils/get-band-size.d.ts → core/utils/band-size.d.ts} +0 -0
- /package/dist/cjs/{hooks/useZoom → core/zoom}/types.d.ts +0 -0
- /package/dist/{esm/hooks/useShapes/area → cjs/core/zoom}/types.js +0 -0
- /package/dist/esm/{hooks/useShapes/bar-x → core/brush}/types.js +0 -0
- /package/dist/esm/{hooks/useBrush → core/brush}/utils.js +0 -0
- /package/dist/esm/{hooks/useShapes/bar-y → core/chart}/types.js +0 -0
- /package/dist/esm/{hooks/useShapes/funnel → core/range-slider}/types.js +0 -0
- /package/dist/esm/{hooks/useShapes/heatmap → core/shapes/area}/types.js +0 -0
- /package/dist/esm/{hooks/constants.d.ts → core/shapes/bar-constants.d.ts} +0 -0
- /package/dist/esm/{hooks/constants.js → core/shapes/bar-constants.js} +0 -0
- /package/dist/esm/{hooks/useShapes/line → core/shapes/bar-x}/types.js +0 -0
- /package/dist/esm/{hooks/useShapes/pie → core/shapes/bar-y}/types.js +0 -0
- /package/dist/esm/{hooks/useShapes → core/shapes}/bar-y/utils.d.ts +0 -0
- /package/dist/esm/{hooks/useShapes/radar → core/shapes/funnel}/types.js +0 -0
- /package/dist/esm/{hooks/useShapes/sankey → core/shapes/heatmap}/types.js +0 -0
- /package/dist/esm/{hooks/useShapes/scatter → core/shapes/line}/types.js +0 -0
- /package/dist/esm/{hooks/useShapes/treemap → core/shapes/pie}/types.js +0 -0
- /package/dist/esm/{hooks/useShapes → core/shapes}/pie/utils.d.ts +0 -0
- /package/dist/esm/{hooks/useShapes → core/shapes}/pie/utils.js +0 -0
- /package/dist/esm/{hooks/useShapes/waterfall → core/shapes/radar}/types.js +0 -0
- /package/dist/esm/{hooks/useShapes → core/shapes}/sankey/sankey-layout.d.ts +0 -0
- /package/dist/esm/{hooks/useShapes → core/shapes}/sankey/sankey-layout.js +0 -0
- /package/dist/esm/{hooks/useShapes/x-range → core/shapes/sankey}/types.js +0 -0
- /package/dist/esm/{hooks/useZoom → core/shapes/scatter}/types.js +0 -0
- /package/dist/esm/{hooks/utils/get-band-size.d.ts → core/utils/band-size.d.ts} +0 -0
- /package/dist/esm/{hooks/useZoom → core/zoom}/types.d.ts +0 -0
|
@@ -13,7 +13,28 @@ export const Tooltip = (props) => {
|
|
|
13
13
|
xAxis,
|
|
14
14
|
yAxis,
|
|
15
15
|
});
|
|
16
|
-
const
|
|
16
|
+
const containerRectRef = React.useRef({ left: 0, top: 0 });
|
|
17
|
+
React.useEffect(() => {
|
|
18
|
+
if (!svgContainer)
|
|
19
|
+
return undefined;
|
|
20
|
+
const updateRect = (e) => {
|
|
21
|
+
// Skip synthetic events (e.g. the CustomEvent('scroll') dispatched by the
|
|
22
|
+
// sibling useEffect below to reposition the Popup). Only native browser
|
|
23
|
+
// scroll events have isTrusted === true, so those still update the rect.
|
|
24
|
+
if (e && !e.isTrusted)
|
|
25
|
+
return;
|
|
26
|
+
containerRectRef.current = svgContainer.getBoundingClientRect();
|
|
27
|
+
};
|
|
28
|
+
updateRect();
|
|
29
|
+
const resizeObserver = new ResizeObserver(() => updateRect());
|
|
30
|
+
resizeObserver.observe(svgContainer);
|
|
31
|
+
window.addEventListener('scroll', updateRect, { passive: true, capture: true });
|
|
32
|
+
return () => {
|
|
33
|
+
resizeObserver.disconnect();
|
|
34
|
+
window.removeEventListener('scroll', updateRect, { capture: true });
|
|
35
|
+
};
|
|
36
|
+
}, [svgContainer]);
|
|
37
|
+
const containerRect = containerRectRef.current;
|
|
17
38
|
const left = ((pointerPosition === null || pointerPosition === void 0 ? void 0 : pointerPosition[0]) || 0) + containerRect.left;
|
|
18
39
|
const top = ((pointerPosition === null || pointerPosition === void 0 ? void 0 : pointerPosition[1]) || 0) + containerRect.top;
|
|
19
40
|
const { anchor } = useVirtualElement({ left, top });
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import get from 'lodash/get';
|
|
2
|
-
import { TIME_UNITS, calculateCos, calculateNumericProperty, calculateSin, formatAxisTickLabel, getDefaultDateFormat, getHorizontalHtmlTextHeight, getLabelsSize, getMinSpaceBetween, getTextSizeFn, isAxisRelatedSeries, wrapText, } from '../utils';
|
|
3
2
|
import { DASH_STYLE, DEFAULT_AXIS_LABEL_FONT_SIZE, PLOT_LINE_HOVER_THRESHOLD, SERIES_TYPE, axisCrosshairDefaults, axisLabelsDefaults, axisTickMarksDefaults, xAxisTitleDefaults, } from '../constants';
|
|
4
3
|
import { createXScale } from '../scales/x-scale';
|
|
4
|
+
import { TIME_UNITS, calculateCos, calculateNumericProperty, calculateSin, formatAxisTickLabel, getDefaultDateFormat, getHorizontalHtmlTextHeight, getLabelsSize, getMinSpaceBetween, getTextSizeFn, isAxisRelatedSeries, wrapText, } from '../utils';
|
|
5
5
|
import { getXAxisTickValues } from '../utils/axis/x-axis';
|
|
6
6
|
import { getPreparedRangeSlider } from './range-slider';
|
|
7
7
|
import { prepareAxisPlotLabel } from './utils';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import get from 'lodash/get';
|
|
2
|
-
import { calculateNumericProperty, formatAxisTickLabel, getDefaultDateFormat, getHorizontalHtmlTextHeight, getLabelsSize, getMinSpaceBetween, getTextSizeFn, isAxisRelatedSeries, shouldSyncAxisWithPrimary, wrapText, } from '../utils';
|
|
3
2
|
import { getTickValues } from '../../components/AxisY/utils';
|
|
4
3
|
import { DASH_STYLE, DEFAULT_AXIS_LABEL_FONT_SIZE, DEFAULT_AXIS_TYPE, PLOT_LINE_HOVER_THRESHOLD, SERIES_TYPE, axisCrosshairDefaults, axisLabelsDefaults, axisTickMarksDefaults, yAxisTitleDefaults, } from '../constants';
|
|
5
4
|
import { createYScale } from '../scales/y-scale';
|
|
5
|
+
import { calculateNumericProperty, formatAxisTickLabel, getDefaultDateFormat, getHorizontalHtmlTextHeight, getLabelsSize, getMinSpaceBetween, getTextSizeFn, isAxisRelatedSeries, shouldSyncAxisWithPrimary, wrapText, } from '../utils';
|
|
6
6
|
import { prepareAxisPlotLabel } from './utils';
|
|
7
7
|
export const getYAxisLabelMaxWidth = async (args) => {
|
|
8
8
|
const { axis, scale, seriesData } = args;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { BrushBehavior } from 'd3-brush';
|
|
2
|
-
import type { ZoomType } from '
|
|
3
|
-
import type { ChartBrush, DeepRequired } from '
|
|
2
|
+
import type { ZoomType } from '../constants';
|
|
3
|
+
import type { ChartBrush, DeepRequired } from '../types';
|
|
4
4
|
export type BrushSelection = [number, number] | [[number, number], [number, number]];
|
|
5
5
|
export interface BrushArea {
|
|
6
6
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { BrushBehavior } from 'd3-brush';
|
|
2
|
-
import type { ChartBrush, DeepRequired } from '
|
|
2
|
+
import type { ChartBrush, DeepRequired } from '../types';
|
|
3
3
|
import type { BrushSelection } from './types';
|
|
4
4
|
export declare function isOneDimensionalSelection(selection?: BrushSelection | null): selection is [number, number];
|
|
5
5
|
export declare function setBrushBorder(this: SVGGElement, _brushInstance: BrushBehavior<unknown>, selection: BrushSelection | null, options: {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './types';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ChartBrush, ChartMargin, ChartZoom, DeepRequired } from '../types';
|
|
2
|
+
export type PreparedZoom = DeepRequired<Omit<ChartZoom, 'enabled' | 'brush'>> & DeepRequired<{
|
|
3
|
+
brush: ChartBrush;
|
|
4
|
+
}>;
|
|
5
|
+
export type PreparedChart = {
|
|
6
|
+
margin: ChartMargin;
|
|
7
|
+
zoom: PreparedZoom | null;
|
|
8
|
+
};
|
package/dist/esm/core/index.d.ts
CHANGED
package/dist/esm/core/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { PreparedChart } from '../../hooks/types';
|
|
2
1
|
import type { ChartMargin, LegendConfig } from '../../types';
|
|
3
2
|
import type { PreparedXAxis, PreparedYAxis } from '../axes/types';
|
|
3
|
+
import type { PreparedChart } from '../chart/types';
|
|
4
4
|
import type { PreparedLegend, PreparedSeries } from '../series';
|
|
5
5
|
export declare const getBoundsWidth: (args: {
|
|
6
6
|
chartWidth: number;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
import type { PreparedLegend } from '../
|
|
1
|
+
import type { PreparedRangeSlider } from '../axes/types';
|
|
2
|
+
import type { BrushSelection } from '../brush/types';
|
|
3
|
+
import type { PreparedChart } from '../chart/types';
|
|
4
|
+
import type { ChartScale } from '../scales/types';
|
|
5
|
+
import type { PreparedLegend } from '../series/types';
|
|
6
6
|
import type { RangeSliderState } from './types';
|
|
7
7
|
export declare function getRangeSliderOffsetTop(args: {
|
|
8
8
|
height: number;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { AxisDirection } from '../utils';
|
|
2
1
|
import type { ChartAxis, ChartSeries } from '../../types';
|
|
3
2
|
import type { PreparedAxis, PreparedYAxis } from '../axes/types';
|
|
4
3
|
import type { PreparedSeries } from '../series';
|
|
4
|
+
import type { AxisDirection } from '../utils';
|
|
5
5
|
type OptionalNumber = number | undefined;
|
|
6
6
|
export declare function getMinMaxPropsOrState(args: {
|
|
7
7
|
axis: PreparedAxis | ChartAxis;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import get from 'lodash/get';
|
|
2
|
-
import { getDataCategoryValue, isSeriesWithCategoryValues } from '../utils';
|
|
3
2
|
import { SERIES_TYPE } from '../constants';
|
|
3
|
+
import { getDataCategoryValue, isSeriesWithCategoryValues } from '../utils';
|
|
4
4
|
const MARKER_SERIES_TYPES = [SERIES_TYPE.Area, SERIES_TYPE.Line, SERIES_TYPE.Scatter];
|
|
5
5
|
function getNormilizedMinMax(args) {
|
|
6
6
|
const { maxValues, minValues } = args;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { RangeSliderState } from '../../hooks';
|
|
2
|
-
import type { ChartAxis, ChartSeries } from '../../types';
|
|
3
1
|
import type { PreparedAxis } from '../axes/types';
|
|
2
|
+
import type { RangeSliderState } from '../range-slider/types';
|
|
4
3
|
import type { PreparedSeries } from '../series';
|
|
4
|
+
import type { ChartAxis, ChartSeries } from '../types';
|
|
5
5
|
export declare function createXScale(args: {
|
|
6
6
|
axis: PreparedAxis | ChartAxis;
|
|
7
7
|
boundsWidth: number;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { extent } from 'd3-array';
|
|
2
2
|
import { scaleBand, scaleLinear, scaleLog, scaleUtc } from 'd3-scale';
|
|
3
3
|
import get from 'lodash/get';
|
|
4
|
-
import { getDefaultMaxXAxisValue, getDefaultMinXAxisValue, getDomainDataXBySeries, getEffectiveXRange, } from '../utils';
|
|
5
|
-
import { getBandSize } from '../../hooks/utils/get-band-size';
|
|
6
4
|
import { DEFAULT_AXIS_TYPE, SERIES_TYPE } from '../constants';
|
|
5
|
+
import { getDefaultMaxXAxisValue, getDefaultMinXAxisValue, getDomainDataXBySeries, getEffectiveXRange, } from '../utils';
|
|
6
|
+
import { getBandSize } from '../utils/band-size';
|
|
7
7
|
import { checkIsPointDomain, filterCategoriesByVisibleSeries, getMinMaxPropsOrState, hasOnlyMarkerSeries, validateArrayData, } from './utils';
|
|
8
8
|
const X_AXIS_ZOOM_PADDING = 0.02;
|
|
9
9
|
function calculateXAxisPadding(series) {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { extent, tickStep, ticks } from 'd3-array';
|
|
2
2
|
import { scaleBand, scaleLinear, scaleLog, scaleUtc } from 'd3-scale';
|
|
3
3
|
import get from 'lodash/get';
|
|
4
|
-
import { CHART_SERIES_WITH_VOLUME_ON_Y_AXIS, getDefaultMinYAxisValue, getDomainDataYBySeries, shouldSyncAxisWithPrimary, } from '../utils';
|
|
5
4
|
import { getTickValues } from '../../components/AxisY/utils';
|
|
6
|
-
import { getBandSize } from '../../hooks/utils/get-band-size';
|
|
7
5
|
import { SERIES_TYPE } from '../constants';
|
|
6
|
+
import { CHART_SERIES_WITH_VOLUME_ON_Y_AXIS, getDefaultMinYAxisValue, getDomainDataYBySeries, shouldSyncAxisWithPrimary, } from '../utils';
|
|
7
|
+
import { getBandSize } from '../utils/band-size';
|
|
8
8
|
import { checkIsPointDomain, filterCategoriesByVisibleSeries, getMinMaxPropsOrState, hasOnlyMarkerSeries, validateArrayData, } from './utils';
|
|
9
9
|
// axis is validated in `validation/index.ts`, so the value of `axis.type` is definitely valid.
|
|
10
10
|
// eslint-disable-next-line consistent-return
|
|
@@ -70,6 +70,34 @@ function getDomainSyncedToPrimaryTicks(args) {
|
|
|
70
70
|
}
|
|
71
71
|
return [secondaryTicks[0], secondaryTicks[secondaryTicks.length - 1]];
|
|
72
72
|
}
|
|
73
|
+
function getLogarithmicYMin(args) {
|
|
74
|
+
var _a;
|
|
75
|
+
const { axis, domain, yMinDomain, hasSeriesWithVolumeOnYAxis } = args;
|
|
76
|
+
// scaleLog cannot represent values <= 0. Pick the smallest positive value
|
|
77
|
+
// present in the domain, falling back to 1 if there is none.
|
|
78
|
+
const smallestPositive = yMinDomain > 0
|
|
79
|
+
? yMinDomain
|
|
80
|
+
: ((_a = domain.reduce((min, v) => {
|
|
81
|
+
if (typeof v === 'number' && v > 0) {
|
|
82
|
+
return min === null ? v : Math.min(min, v);
|
|
83
|
+
}
|
|
84
|
+
return min;
|
|
85
|
+
}, null)) !== null && _a !== void 0 ? _a : 1);
|
|
86
|
+
if (!hasSeriesWithVolumeOnYAxis) {
|
|
87
|
+
return smallestPositive;
|
|
88
|
+
}
|
|
89
|
+
// Volume series (bar-x, area, waterfall) draw bars from yMin up to the
|
|
90
|
+
// value, so a bar whose value equals yMin collapses to zero height. Drop
|
|
91
|
+
// the baseline one decade below to give it visible space — but only when
|
|
92
|
+
// the later `nice()` pass (triggered by startOnTick) won't supply that
|
|
93
|
+
// headroom on its own. nice() rounds down to the previous decade, which
|
|
94
|
+
// covers any value strictly between two decades; it has nothing to round
|
|
95
|
+
// when the smallest value already sits on a decade (e.g. 1, 10, 100).
|
|
96
|
+
const startOnTick = get(axis, 'startOnTick', false);
|
|
97
|
+
const isOnDecade = Number.isInteger(Math.log10(smallestPositive));
|
|
98
|
+
const needsHeadroom = !startOnTick || isOnDecade;
|
|
99
|
+
return needsHeadroom ? smallestPositive / 10 : smallestPositive;
|
|
100
|
+
}
|
|
73
101
|
function getDomainMinAlignedToStartTick(args) {
|
|
74
102
|
var _a, _b;
|
|
75
103
|
const { axis, range, scale, series } = args;
|
|
@@ -80,6 +108,9 @@ function getDomainMinAlignedToStartTick(args) {
|
|
|
80
108
|
labelLineHeight: axis.labels.lineHeight,
|
|
81
109
|
series,
|
|
82
110
|
});
|
|
111
|
+
if (tickValues.length === 0) {
|
|
112
|
+
return dMin;
|
|
113
|
+
}
|
|
83
114
|
const isStartOnTick = tickValues[0].y === range[0];
|
|
84
115
|
let dNewMin = dMin;
|
|
85
116
|
if (!isStartOnTick) {
|
|
@@ -111,6 +142,9 @@ function getDomainMaxAlignedToEndTick(args) {
|
|
|
111
142
|
labelLineHeight: axis.labels.lineHeight,
|
|
112
143
|
series,
|
|
113
144
|
});
|
|
145
|
+
if (tickValues.length === 0) {
|
|
146
|
+
return dMax;
|
|
147
|
+
}
|
|
114
148
|
let dNewMax = dMax;
|
|
115
149
|
const isEndOnTick = tickValues[tickValues.length - 1].y === range[1];
|
|
116
150
|
if (!isEndOnTick) {
|
|
@@ -155,12 +189,18 @@ export function createYScale(args) {
|
|
|
155
189
|
}
|
|
156
190
|
if (hasNumberAndNullValues) {
|
|
157
191
|
const [yMinDomain, yMaxDomain] = extent(domain);
|
|
192
|
+
const hasSeriesWithVolumeOnYAxis = series.some((s) => CHART_SERIES_WITH_VOLUME_ON_Y_AXIS.includes(s.type));
|
|
158
193
|
let yMin;
|
|
159
194
|
if (typeof yMinPropsOrState === 'number') {
|
|
160
195
|
yMin = yMinPropsOrState;
|
|
161
196
|
}
|
|
162
197
|
else if (axis.type === 'logarithmic') {
|
|
163
|
-
yMin =
|
|
198
|
+
yMin = getLogarithmicYMin({
|
|
199
|
+
axis,
|
|
200
|
+
domain,
|
|
201
|
+
yMinDomain,
|
|
202
|
+
hasSeriesWithVolumeOnYAxis,
|
|
203
|
+
});
|
|
164
204
|
}
|
|
165
205
|
else {
|
|
166
206
|
const yMinDefault = getDefaultMinYAxisValue(series);
|
|
@@ -170,10 +210,35 @@ export function createYScale(args) {
|
|
|
170
210
|
if (typeof yMaxPropsOrState === 'number') {
|
|
171
211
|
yMax = yMaxPropsOrState;
|
|
172
212
|
}
|
|
213
|
+
else if (axis.type === 'logarithmic') {
|
|
214
|
+
// scaleLog cannot represent values <= 0; ensure yMax is strictly
|
|
215
|
+
// greater than yMin so the resulting domain stays valid.
|
|
216
|
+
yMax = yMaxDomain > yMin ? yMaxDomain : yMin * 10;
|
|
217
|
+
}
|
|
173
218
|
else {
|
|
174
|
-
const hasSeriesWithVolumeOnYAxis = series.some((s) => CHART_SERIES_WITH_VOLUME_ON_Y_AXIS.includes(s.type));
|
|
175
219
|
yMax = hasSeriesWithVolumeOnYAxis ? Math.max(yMaxDomain, 0) : yMaxDomain;
|
|
176
220
|
}
|
|
221
|
+
// When the user pins only one of min/max on the wrong side of all data,
|
|
222
|
+
// d3 produces either an inverted scale (yMax<yMin, silently flips the
|
|
223
|
+
// axis) or a degenerate one (yMax===yMin, maps everything to the range
|
|
224
|
+
// midpoint); both leave phantom hover targets inside an empty plot.
|
|
225
|
+
// Expand the auto-computed side so the scale stays sane. Only applies
|
|
226
|
+
// when the opposite bound is auto-derived — if the user supplied both
|
|
227
|
+
// bounds, trust the explicit range and let point filtering hide the
|
|
228
|
+
// rest. Comparison uses the raw data extent because upstream coercions
|
|
229
|
+
// like volume-series `yMax = Math.max(yMaxDomain, 0)` can make the
|
|
230
|
+
// post-coerced yMin/yMax lie about where data actually sits.
|
|
231
|
+
// Logarithmic has its own guard.
|
|
232
|
+
if (axis.type === 'linear') {
|
|
233
|
+
const minIsUserSet = typeof yMinPropsOrState === 'number';
|
|
234
|
+
const maxIsUserSet = typeof yMaxPropsOrState === 'number';
|
|
235
|
+
if (minIsUserSet && !maxIsUserSet && yMaxDomain < yMin) {
|
|
236
|
+
yMax = yMin + Math.max(Math.abs(yMin), 1);
|
|
237
|
+
}
|
|
238
|
+
else if (maxIsUserSet && !minIsUserSet && yMinDomain > yMax) {
|
|
239
|
+
yMin = yMax - Math.max(Math.abs(yMax), 1);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
177
242
|
const scaleFn = axis.type === 'logarithmic' ? scaleLog : scaleLinear;
|
|
178
243
|
let scale = scaleFn().domain([yMin, yMax]).range(range);
|
|
179
244
|
let offsetMin = 0;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import get from 'lodash/get';
|
|
2
2
|
import merge from 'lodash/merge';
|
|
3
|
-
import { getUniqId } from '../utils';
|
|
4
3
|
import { DEFAULT_DATALABELS_STYLE, seriesRangeSliderOptionsDefaults } from '../constants';
|
|
4
|
+
import { getUniqId } from '../utils';
|
|
5
5
|
import { DEFAULT_DATALABELS_PADDING, DEFAULT_HALO_OPTIONS, DEFAULT_POINT_MARKER_OPTIONS, } from './constants';
|
|
6
6
|
import { getSeriesStackId, prepareLegendSymbol } from './utils';
|
|
7
7
|
export const DEFAULT_LINE_WIDTH = 1;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import get from 'lodash/get';
|
|
2
|
-
import { getUniqId } from '../utils';
|
|
3
2
|
import { DEFAULT_DATALABELS_STYLE, seriesRangeSliderOptionsDefaults } from '../constants';
|
|
3
|
+
import { getUniqId } from '../utils';
|
|
4
4
|
import { DEFAULT_DATALABELS_PADDING } from './constants';
|
|
5
5
|
import { getSeriesStackId, prepareLegendSymbol } from './utils';
|
|
6
6
|
function prepareSeriesData(series) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import get from 'lodash/get';
|
|
2
|
-
import { getLabelsSize, getUniqId } from '../utils';
|
|
3
2
|
import { DEFAULT_DATALABELS_STYLE } from '../constants';
|
|
3
|
+
import { getLabelsSize, getUniqId } from '../utils';
|
|
4
4
|
import { getFormattedValue } from '../utils/format';
|
|
5
5
|
import { getSeriesStackId, prepareLegendSymbol } from './utils';
|
|
6
6
|
const DEFAULT_LABEL_PADDING = 7;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { scaleOrdinal } from 'd3-scale';
|
|
2
2
|
import get from 'lodash/get';
|
|
3
|
-
import { getUniqId } from '../utils';
|
|
4
3
|
import { DEFAULT_DATALABELS_STYLE } from '../constants';
|
|
4
|
+
import { getUniqId } from '../utils';
|
|
5
5
|
import { prepareLegendSymbol } from './utils';
|
|
6
6
|
export function prepareFunnelSeries(args) {
|
|
7
7
|
var _a, _b;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import get from 'lodash/get';
|
|
2
|
-
import { getUniqId } from '../utils';
|
|
3
2
|
import { DEFAULT_DATALABELS_STYLE } from '../constants';
|
|
3
|
+
import { getUniqId } from '../utils';
|
|
4
4
|
import { DEFAULT_DATALABELS_PADDING } from './constants';
|
|
5
5
|
import { prepareLegendSymbol } from './utils';
|
|
6
6
|
function prepareSeriesData(series) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { PreparedChart } from '../../hooks/types';
|
|
2
1
|
import type { ChartData } from '../../types';
|
|
2
|
+
import type { PreparedChart } from '../chart/types';
|
|
3
3
|
import type { LegendItem, PreparedLegend, PreparedSeries } from './types';
|
|
4
4
|
export declare function getPreparedLegend(args: {
|
|
5
5
|
legend: ChartData['legend'];
|
|
@@ -2,8 +2,8 @@ import { groupBy } from 'lodash';
|
|
|
2
2
|
import clone from 'lodash/clone';
|
|
3
3
|
import get from 'lodash/get';
|
|
4
4
|
import merge from 'lodash/merge';
|
|
5
|
-
import { getDefaultColorStops, getDomainForContinuousColorScale, getLabelsSize, getTextSizeFn, getTextWithElipsis, } from '../utils';
|
|
6
5
|
import { CONTINUOUS_LEGEND_SIZE, legendDefaults } from '../constants';
|
|
6
|
+
import { getDefaultColorStops, getDomainForContinuousColorScale, getLabelsSize, getTextSizeFn, getTextWithElipsis, } from '../utils';
|
|
7
7
|
export async function getPreparedLegend(args) {
|
|
8
8
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
9
9
|
const { legend, series } = args;
|
|
@@ -120,8 +120,8 @@ async function getGroupedLegendItems(args) {
|
|
|
120
120
|
}
|
|
121
121
|
resultItem.height = textHeight;
|
|
122
122
|
if (textWidth > maxTextWidth) {
|
|
123
|
+
resultItem.overflowed = true;
|
|
123
124
|
if (preparedLegend.html) {
|
|
124
|
-
resultItem.overflowed = true;
|
|
125
125
|
resultItem.textWidth = maxTextWidth;
|
|
126
126
|
}
|
|
127
127
|
else {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import get from 'lodash/get';
|
|
2
2
|
import merge from 'lodash/merge';
|
|
3
|
-
import { getUniqId } from '../utils';
|
|
4
3
|
import { DASH_STYLE, DEFAULT_DATALABELS_STYLE, LineCap, LineJoin, seriesRangeSliderOptionsDefaults, } from '../constants';
|
|
4
|
+
import { getUniqId } from '../utils';
|
|
5
5
|
import { DEFAULT_DATALABELS_PADDING, DEFAULT_HALO_OPTIONS, DEFAULT_LEGEND_SYMBOL_PADDING, DEFAULT_POINT_MARKER_OPTIONS, } from './constants';
|
|
6
6
|
export const DEFAULT_LEGEND_SYMBOL_SIZE = 16;
|
|
7
7
|
export const DEFAULT_LINE_WIDTH = 1;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { scaleOrdinal } from 'd3-scale';
|
|
2
2
|
import get from 'lodash/get';
|
|
3
|
-
import { getUniqId } from '../utils';
|
|
4
3
|
import { DEFAULT_DATALABELS_STYLE } from '../constants';
|
|
4
|
+
import { getUniqId } from '../utils';
|
|
5
5
|
import { DEFAULT_DATALABELS_PADDING } from './constants';
|
|
6
6
|
import { prepareLegendSymbol } from './utils';
|
|
7
7
|
function prepareSeriesData(series) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { scaleOrdinal } from 'd3-scale';
|
|
2
2
|
import get from 'lodash/get';
|
|
3
3
|
import merge from 'lodash/merge';
|
|
4
|
-
import { getUniqId } from '../utils';
|
|
5
4
|
import { DEFAULT_DATALABELS_STYLE } from '../constants';
|
|
5
|
+
import { getUniqId } from '../utils';
|
|
6
6
|
import { DEFAULT_DATALABELS_PADDING, DEFAULT_HALO_OPTIONS, DEFAULT_POINT_MARKER_OPTIONS, } from './constants';
|
|
7
7
|
import { prepareLegendSymbol } from './utils';
|
|
8
8
|
export const DEFAULT_MARKER = Object.assign(Object.assign({}, DEFAULT_POINT_MARKER_OPTIONS), { enabled: true, radius: 2 });
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import get from 'lodash/get';
|
|
2
|
-
import { getUniqId } from '../utils';
|
|
3
2
|
import { DEFAULT_DATALABELS_STYLE } from '../constants';
|
|
3
|
+
import { getUniqId } from '../utils';
|
|
4
4
|
import { prepareLegendSymbol } from './utils';
|
|
5
5
|
export function prepareSankeySeries(args) {
|
|
6
6
|
const { colorScale, legend, series } = args;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import get from 'lodash/get';
|
|
2
2
|
import merge from 'lodash/merge';
|
|
3
|
-
import { getSymbolType, getUniqId } from '../utils';
|
|
4
3
|
import { seriesRangeSliderOptionsDefaults } from '../constants';
|
|
4
|
+
import { getSymbolType, getUniqId } from '../utils';
|
|
5
5
|
import { DEFAULT_HALO_OPTIONS, DEFAULT_POINT_MARKER_OPTIONS } from './constants';
|
|
6
6
|
import { prepareLegendSymbol } from './utils';
|
|
7
7
|
function prepareMarker(series, seriesOptions, index) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import get from 'lodash/get';
|
|
2
|
-
import { getUniqId } from '../utils';
|
|
3
2
|
import { DEFAULT_DATALABELS_STYLE, LayoutAlgorithm } from '../constants';
|
|
3
|
+
import { getUniqId } from '../utils';
|
|
4
4
|
import { DEFAULT_DATALABELS_PADDING } from './constants';
|
|
5
5
|
import { prepareLegendSymbol } from './utils';
|
|
6
6
|
export function prepareTreemap(args) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import get from 'lodash/get';
|
|
2
|
-
import { getUniqId } from '../utils';
|
|
3
2
|
import { DEFAULT_DATALABELS_STYLE } from '../constants';
|
|
3
|
+
import { getUniqId } from '../utils';
|
|
4
4
|
import { DEFAULT_DATALABELS_PADDING } from './constants';
|
|
5
5
|
import { prepareLegendSymbol } from './utils';
|
|
6
6
|
function prepareSeriesData(series) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import get from 'lodash/get';
|
|
2
|
-
import { getUniqId } from '../utils';
|
|
3
2
|
import { DASH_STYLE, DEFAULT_DATALABELS_STYLE } from '../constants';
|
|
3
|
+
import { getUniqId } from '../utils';
|
|
4
4
|
import { DEFAULT_DATALABELS_PADDING } from './constants';
|
|
5
5
|
import { prepareLegendSymbol } from './utils';
|
|
6
6
|
export function prepareXRangeSeries(args) {
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import type { ScaleOrdinal } from 'd3-scale';
|
|
2
|
-
import type { ChartSeries, ChartSeriesOptions } from '../../types';
|
|
2
|
+
import type { ChartData, ChartSeries, ChartSeriesOptions } from '../../types';
|
|
3
3
|
import type { PreparedLegend, PreparedSeries } from './types';
|
|
4
|
+
export declare const getPreparedSeries: ({ seriesData, seriesOptions, colors, preparedLegend, }: {
|
|
5
|
+
seriesData: ChartData["series"]["data"];
|
|
6
|
+
seriesOptions: ChartData["series"]["options"];
|
|
7
|
+
colors: string[];
|
|
8
|
+
preparedLegend?: PreparedLegend | null;
|
|
9
|
+
}) => Promise<PreparedSeries[]>;
|
|
4
10
|
export declare function prepareSeries(args: {
|
|
5
11
|
type: ChartSeries['type'];
|
|
6
12
|
series: ChartSeries[];
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import { group } from 'd3-array';
|
|
2
|
+
import { scaleOrdinal } from 'd3-scale';
|
|
1
3
|
import { ChartError } from '../../libs';
|
|
4
|
+
import { getSeriesNames } from '../utils';
|
|
2
5
|
import { prepareArea } from './prepare-area';
|
|
3
6
|
import { prepareBarXSeries } from './prepare-bar-x';
|
|
4
7
|
import { prepareBarYSeries } from './prepare-bar-y';
|
|
@@ -12,6 +15,34 @@ import { prepareScatterSeries } from './prepare-scatter';
|
|
|
12
15
|
import { prepareTreemap } from './prepare-treemap';
|
|
13
16
|
import { prepareWaterfallSeries } from './prepare-waterfall';
|
|
14
17
|
import { prepareXRangeSeries } from './prepare-x-range';
|
|
18
|
+
export const getPreparedSeries = async ({ seriesData, seriesOptions, colors, preparedLegend, }) => {
|
|
19
|
+
const seriesNames = getSeriesNames(seriesData);
|
|
20
|
+
const colorScale = scaleOrdinal(seriesNames, colors);
|
|
21
|
+
const groupedSeries = group(seriesData, (item, index) => {
|
|
22
|
+
if (item.type === 'line') {
|
|
23
|
+
return `${item.type}_${index}`;
|
|
24
|
+
}
|
|
25
|
+
return item.type;
|
|
26
|
+
});
|
|
27
|
+
const acc = [];
|
|
28
|
+
if (!preparedLegend) {
|
|
29
|
+
return acc;
|
|
30
|
+
}
|
|
31
|
+
const list = Array.from(groupedSeries);
|
|
32
|
+
for (let i = 0; i < list.length; i++) {
|
|
33
|
+
const [_groupId, seriesList] = list[i];
|
|
34
|
+
const seriesType = seriesList[0].type;
|
|
35
|
+
acc.push(...(await prepareSeries({
|
|
36
|
+
type: seriesType,
|
|
37
|
+
series: seriesList,
|
|
38
|
+
seriesOptions,
|
|
39
|
+
legend: preparedLegend,
|
|
40
|
+
colorScale,
|
|
41
|
+
colors,
|
|
42
|
+
})));
|
|
43
|
+
}
|
|
44
|
+
return acc;
|
|
45
|
+
};
|
|
15
46
|
export async function prepareSeries(args) {
|
|
16
47
|
const { type, series, seriesOptions, legend, colors, colorScale } = args;
|
|
17
48
|
switch (type) {
|
|
@@ -16,6 +16,11 @@ export type PreparedAnnotation = {
|
|
|
16
16
|
padding: [number, number];
|
|
17
17
|
};
|
|
18
18
|
};
|
|
19
|
+
export type AnnotationAnchor = {
|
|
20
|
+
annotation: PreparedAnnotation;
|
|
21
|
+
x: number;
|
|
22
|
+
y: number;
|
|
23
|
+
};
|
|
19
24
|
export type RectLegendSymbol = {
|
|
20
25
|
shape: 'rect';
|
|
21
26
|
} & Required<RectLegendSymbolOptions>;
|
|
@@ -9,3 +9,7 @@ export declare function prepareLegendSymbol(series: {
|
|
|
9
9
|
};
|
|
10
10
|
}, symbolType?: `${SymbolType}`): PreparedLegendSymbol;
|
|
11
11
|
export declare function getSeriesStackId(series: StackedSeries): string;
|
|
12
|
+
export declare const getVisibleSeries: ({ preparedSeries, activeLegendItems, }: {
|
|
13
|
+
preparedSeries: PreparedSeries[];
|
|
14
|
+
activeLegendItems: string[];
|
|
15
|
+
}) => PreparedSeries[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import memoize from 'lodash/memoize';
|
|
2
|
-
import { getSymbolBBoxWidth } from '../utils';
|
|
3
2
|
import { SymbolType } from '../constants';
|
|
3
|
+
import { getSymbolBBoxWidth } from '../utils';
|
|
4
4
|
import { getUniqId } from '../utils/misc';
|
|
5
5
|
import { DEFAULT_LEGEND_SYMBOL_PADDING, DEFAULT_LEGEND_SYMBOL_SIZE } from './constants';
|
|
6
6
|
export const getActiveLegendItems = (series) => {
|
|
@@ -35,3 +35,11 @@ export function getSeriesStackId(series) {
|
|
|
35
35
|
}
|
|
36
36
|
return stackId;
|
|
37
37
|
}
|
|
38
|
+
export const getVisibleSeries = ({ preparedSeries, activeLegendItems, }) => {
|
|
39
|
+
return preparedSeries.map((singleSeries) => {
|
|
40
|
+
if (singleSeries.legend.enabled) {
|
|
41
|
+
return Object.assign(Object.assign({}, singleSeries), { visible: activeLegendItems.includes(singleSeries.legend.groupId) });
|
|
42
|
+
}
|
|
43
|
+
return singleSeries;
|
|
44
|
+
});
|
|
45
|
+
};
|
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import type { Selection } from 'd3-selection';
|
|
2
|
-
import type {
|
|
3
|
-
type AnnotationAnchor = {
|
|
4
|
-
annotation: PreparedAnnotation;
|
|
5
|
-
x: number;
|
|
6
|
-
y: number;
|
|
7
|
-
};
|
|
8
|
-
export { type AnnotationAnchor };
|
|
2
|
+
import type { AnnotationAnchor } from '../series/types';
|
|
9
3
|
export declare function renderAnnotations(args: {
|
|
10
4
|
anchors: AnnotationAnchor[];
|
|
11
5
|
container: Selection<SVGGElement, unknown, null, undefined>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { select } from 'd3-selection';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { block } from '../../utils';
|
|
3
|
+
import { DESCENDER_RATIO } from '../utils/text';
|
|
4
4
|
const b = block('annotation');
|
|
5
5
|
const ARROW_WIDTH = 18;
|
|
6
6
|
const ARROW_HEIGHT = 9;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import type { PreparedAreaSeries, PreparedSeriesOptions } from '../../
|
|
1
|
+
import type { PreparedXAxis, PreparedYAxis } from '../../axes/types';
|
|
2
|
+
import type { PreparedSplit } from '../../layout/split-types';
|
|
3
|
+
import type { ChartScale } from '../../scales/types';
|
|
4
|
+
import type { PreparedAreaSeries, PreparedSeriesOptions } from '../../series/types';
|
|
5
5
|
import type { PreparedAreaData } from './types';
|
|
6
6
|
export declare const prepareAreaData: (args: {
|
|
7
7
|
series: PreparedAreaSeries[];
|