@vizzly/dashboard 0.15.0-dev-307a9830cb4e82f036693ccfe2634f74381a2b72 → 0.15.0-dev-d949562f7d69a747b6f32349c6a53a2dc3ed06f9
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/charts/src/v2/components/RadarChart/Polygons.d.ts +1 -1
- package/dist/charts/src/v2/components/RadarChart/RadarCrosshairCircle.d.ts +19 -0
- package/dist/charts/src/v2/components/RadarChart/shared.d.ts +2 -0
- package/dist/charts/src/v2/components/RadarChart/types.d.ts +4 -0
- package/dist/charts/src/v2/components/Tooltip/CrosshairCircle.d.ts +1 -1
- package/dist/charts/src/v2/utils/getRadarTooltipData.d.ts +21 -0
- package/dist/dashboard.cjs.development.js +185 -35
- package/dist/dashboard.cjs.production.min.js +1 -1
- package/dist/dashboard.esm.js +185 -35
- package/package.json +1 -1
- package/dist/charts/src/v2/components/GridRows/shared.d.ts +0 -2
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { PolygonProps } from './types';
|
|
3
|
-
export declare const Polygons: ({ chart, radius, visibleYKeys }: PolygonProps) => JSX.Element;
|
|
3
|
+
export declare const Polygons: ({ chart, radius, visibleYKeys, tooltipData, hoveredDataPointIndex }: PolygonProps) => JSX.Element;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { FunctionComponent } from 'react';
|
|
2
|
+
import { DataItem, ShapeDefinition } from '../../../../../shared-logic/src/ChartsV2/types';
|
|
3
|
+
import { LinesItemStyleLine } from '../../../../../shared-logic/src/RadarChart/types';
|
|
4
|
+
export declare const RadarCrosshairCircle: FunctionComponent<{
|
|
5
|
+
tooltipData: {
|
|
6
|
+
[keyId: string]: DataItem;
|
|
7
|
+
};
|
|
8
|
+
yKeys: string[];
|
|
9
|
+
legendItems: ShapeDefinition<LinesItemStyleLine>[];
|
|
10
|
+
conditionalFormattingRules?: any;
|
|
11
|
+
visibleYKeys: string[];
|
|
12
|
+
radius: number;
|
|
13
|
+
yScale: {
|
|
14
|
+
max: number | null;
|
|
15
|
+
min: number | null;
|
|
16
|
+
};
|
|
17
|
+
dataPointIndex: number;
|
|
18
|
+
totalDataPoints: number;
|
|
19
|
+
}>;
|
|
@@ -17,6 +17,10 @@ export declare type PolygonProps = {
|
|
|
17
17
|
chart: RadarChartRepresentation;
|
|
18
18
|
radius: number;
|
|
19
19
|
visibleYKeys: string[];
|
|
20
|
+
tooltipData?: {
|
|
21
|
+
[keyId: string]: import('../../../../../shared-logic/src/RadarChart/types').DataItem;
|
|
22
|
+
} | null;
|
|
23
|
+
hoveredDataPointIndex?: number;
|
|
20
24
|
};
|
|
21
25
|
export declare type RadarShapeProps = {
|
|
22
26
|
chart: RadarChartRepresentation;
|
|
@@ -14,7 +14,7 @@ export declare const CrosshairCircle: FunctionComponent<{
|
|
|
14
14
|
xKey: string | null;
|
|
15
15
|
margin: Margin;
|
|
16
16
|
legendItems: ShapeDefinition<AreaStyles | LineStyles | BubbleStyles>[];
|
|
17
|
-
conditionalFormattingRules
|
|
17
|
+
conditionalFormattingRules?: any;
|
|
18
18
|
visibleYKeys: string[];
|
|
19
19
|
yScale: (yKey: string) => number;
|
|
20
20
|
xScale: (value: string | number | Date) => number | undefined;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { DataItem } from '../../../../shared-logic/src/RadarChart/types';
|
|
3
|
+
declare type RadarTooltipData = {
|
|
4
|
+
[keyId: string]: DataItem;
|
|
5
|
+
};
|
|
6
|
+
interface GetRadarTooltipDataArgs {
|
|
7
|
+
data: Array<{
|
|
8
|
+
[keyId: string]: DataItem;
|
|
9
|
+
}>;
|
|
10
|
+
event: React.MouseEvent<SVGElement>;
|
|
11
|
+
totalDataPoints: number;
|
|
12
|
+
centerX: number;
|
|
13
|
+
centerY: number;
|
|
14
|
+
}
|
|
15
|
+
interface RadarTooltipDataReturn {
|
|
16
|
+
tooltipData: RadarTooltipData | null;
|
|
17
|
+
dataPointIndex: number;
|
|
18
|
+
angle: number;
|
|
19
|
+
}
|
|
20
|
+
export declare const getRadarTooltipData: ({ data, event, totalDataPoints, centerX, centerY, }: GetRadarTooltipDataArgs) => RadarTooltipDataReturn | undefined;
|
|
21
|
+
export {};
|
|
@@ -44147,11 +44147,12 @@ var AxisLeft = function AxisLeft(_ref) {
|
|
|
44147
44147
|
});
|
|
44148
44148
|
};
|
|
44149
44149
|
|
|
44150
|
-
var
|
|
44150
|
+
var LINE_STYLES = {
|
|
44151
44151
|
strokeWidth: 2,
|
|
44152
44152
|
strokeOpacity: 0.8,
|
|
44153
44153
|
strokeLinecap: 'round',
|
|
44154
|
-
strokeDasharray: '0.5 5'
|
|
44154
|
+
strokeDasharray: '0.5 5',
|
|
44155
|
+
stroke: 'rgba(0, 0, 0, 0.1)'
|
|
44155
44156
|
};
|
|
44156
44157
|
|
|
44157
44158
|
var GridRows = function GridRows(_ref) {
|
|
@@ -44171,7 +44172,7 @@ var GridRows = function GridRows(_ref) {
|
|
|
44171
44172
|
strokeWidth: removeStroke ? 0 : 2,
|
|
44172
44173
|
lineStyle: _extends({
|
|
44173
44174
|
stroke: themeCSS.grid.stroke
|
|
44174
|
-
},
|
|
44175
|
+
}, LINE_STYLES)
|
|
44175
44176
|
});
|
|
44176
44177
|
};
|
|
44177
44178
|
|
|
@@ -45966,6 +45967,58 @@ function Bubbles(_ref2) {
|
|
|
45966
45967
|
});
|
|
45967
45968
|
}
|
|
45968
45969
|
|
|
45970
|
+
var RadarCrosshairCircle = function RadarCrosshairCircle(_ref) {
|
|
45971
|
+
var tooltipData = _ref.tooltipData,
|
|
45972
|
+
yKeys = _ref.yKeys,
|
|
45973
|
+
legendItems = _ref.legendItems,
|
|
45974
|
+
conditionalFormattingRules = _ref.conditionalFormattingRules,
|
|
45975
|
+
visibleYKeys = _ref.visibleYKeys,
|
|
45976
|
+
radius = _ref.radius,
|
|
45977
|
+
yScale = _ref.yScale,
|
|
45978
|
+
dataPointIndex = _ref.dataPointIndex,
|
|
45979
|
+
totalDataPoints = _ref.totalDataPoints;
|
|
45980
|
+
var radiusScale = scale.scaleLinear({
|
|
45981
|
+
range: [0, radius],
|
|
45982
|
+
domain: [0, yScale.max],
|
|
45983
|
+
nice: true
|
|
45984
|
+
});
|
|
45985
|
+
var step = Math.PI * 2 / totalDataPoints;
|
|
45986
|
+
var yKeysTest = [].concat(yKeys);
|
|
45987
|
+
if (yKeysTest.length > 1) {
|
|
45988
|
+
var lastItem = yKeysTest.pop();
|
|
45989
|
+
yKeysTest.unshift(lastItem);
|
|
45990
|
+
}
|
|
45991
|
+
return jsxRuntime.jsx(React.Fragment, {
|
|
45992
|
+
children: yKeysTest.map(function (yKey) {
|
|
45993
|
+
var _legendItems$filter$;
|
|
45994
|
+
if (!tooltipData[yKey] || tooltipData[yKey].value === null || !visibleYKeys.includes(yKey)) {
|
|
45995
|
+
return null;
|
|
45996
|
+
}
|
|
45997
|
+
var value = tooltipData[yKey].value;
|
|
45998
|
+
var scaledRadius = radiusScale(value);
|
|
45999
|
+
var angle = (dataPointIndex + 1) * step;
|
|
46000
|
+
var x = scaledRadius * Math.sin(angle);
|
|
46001
|
+
var y = scaledRadius * Math.cos(angle);
|
|
46002
|
+
return jsxRuntime.jsx("circle", {
|
|
46003
|
+
cx: x,
|
|
46004
|
+
cy: y,
|
|
46005
|
+
r: 6,
|
|
46006
|
+
fill: getColor({
|
|
46007
|
+
defaultColor: ((_legendItems$filter$ = legendItems.filter(function (legendItem) {
|
|
46008
|
+
return legendItem.yKey === yKey;
|
|
46009
|
+
})[0]) == null ? void 0 : _legendItems$filter$.color) || '#000',
|
|
46010
|
+
yKey: yKey,
|
|
46011
|
+
value: tooltipData[yKey].value,
|
|
46012
|
+
conditionalFormattingRules: conditionalFormattingRules
|
|
46013
|
+
}),
|
|
46014
|
+
strokeWidth: 2,
|
|
46015
|
+
stroke: "#fff",
|
|
46016
|
+
pointerEvents: "none"
|
|
46017
|
+
}, "radar-crosshair-" + yKey);
|
|
46018
|
+
})
|
|
46019
|
+
});
|
|
46020
|
+
};
|
|
46021
|
+
|
|
45969
46022
|
var getValue = function getValue(d, key) {
|
|
45970
46023
|
return d[key].value;
|
|
45971
46024
|
};
|
|
@@ -45995,7 +46048,9 @@ var genPolygonPoints = function genPolygonPoints(dataArray, scale, yKey) {
|
|
|
45995
46048
|
var Polygons = function Polygons(_ref) {
|
|
45996
46049
|
var chart = _ref.chart,
|
|
45997
46050
|
radius = _ref.radius,
|
|
45998
|
-
visibleYKeys = _ref.visibleYKeys
|
|
46051
|
+
visibleYKeys = _ref.visibleYKeys,
|
|
46052
|
+
tooltipData = _ref.tooltipData,
|
|
46053
|
+
hoveredDataPointIndex = _ref.hoveredDataPointIndex;
|
|
45999
46054
|
var yKeys = chart.y.keys;
|
|
46000
46055
|
var yScale = scale.scaleLinear({
|
|
46001
46056
|
range: [0, radius],
|
|
@@ -46008,16 +46063,26 @@ var Polygons = function Polygons(_ref) {
|
|
|
46008
46063
|
return (_yScale = yScale(d)) != null ? _yScale : 0;
|
|
46009
46064
|
}, yKey);
|
|
46010
46065
|
});
|
|
46011
|
-
return jsxRuntime.
|
|
46012
|
-
children: polygonsPoints.map(function (polygonPoints) {
|
|
46066
|
+
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
46067
|
+
children: [polygonsPoints.map(function (polygonPoints) {
|
|
46013
46068
|
return jsxRuntime.jsx(SinglePolygon, {
|
|
46014
46069
|
isVisible: visibleYKeys.includes(polygonPoints.yKey),
|
|
46015
46070
|
polygonPoints: polygonPoints,
|
|
46016
46071
|
colors: chart.lines.filter(function (legendItem) {
|
|
46017
46072
|
return legendItem.yKey === polygonPoints.yKey;
|
|
46018
46073
|
})[0].color
|
|
46019
|
-
});
|
|
46020
|
-
})
|
|
46074
|
+
}, polygonPoints.yKey);
|
|
46075
|
+
}), tooltipData && hoveredDataPointIndex !== undefined && hoveredDataPointIndex >= 0 && jsxRuntime.jsx(RadarCrosshairCircle, {
|
|
46076
|
+
tooltipData: tooltipData,
|
|
46077
|
+
yKeys: chart.y.keys,
|
|
46078
|
+
legendItems: chart.lines,
|
|
46079
|
+
conditionalFormattingRules: [],
|
|
46080
|
+
visibleYKeys: visibleYKeys,
|
|
46081
|
+
radius: radius,
|
|
46082
|
+
yScale: chart.y.scale,
|
|
46083
|
+
dataPointIndex: hoveredDataPointIndex,
|
|
46084
|
+
totalDataPoints: chart.data.length
|
|
46085
|
+
})]
|
|
46021
46086
|
});
|
|
46022
46087
|
};
|
|
46023
46088
|
var SinglePolygon = function SinglePolygon(_ref2) {
|
|
@@ -46044,15 +46109,6 @@ var SinglePolygon = function SinglePolygon(_ref2) {
|
|
|
46044
46109
|
});
|
|
46045
46110
|
};
|
|
46046
46111
|
|
|
46047
|
-
var genPoints = function genPoints(length, radius) {
|
|
46048
|
-
var step = Math.PI * 2 / length;
|
|
46049
|
-
return [].concat(new Array(length)).map(function (_, i) {
|
|
46050
|
-
return {
|
|
46051
|
-
x: radius * Math.sin(i * step),
|
|
46052
|
-
y: radius * Math.cos(i * step)
|
|
46053
|
-
};
|
|
46054
|
-
});
|
|
46055
|
-
};
|
|
46056
46112
|
var MiddleLine = function MiddleLine(_ref) {
|
|
46057
46113
|
var chart = _ref.chart,
|
|
46058
46114
|
radius = _ref.radius,
|
|
@@ -46062,7 +46118,6 @@ var MiddleLine = function MiddleLine(_ref) {
|
|
|
46062
46118
|
var _useState = React.useState([]),
|
|
46063
46119
|
textWidths = _useState[0],
|
|
46064
46120
|
setTextWidths = _useState[1];
|
|
46065
|
-
var points = genPoints(chart.x.ticks.length, radius);
|
|
46066
46121
|
var zeroPoint = new point.Point({
|
|
46067
46122
|
x: 0,
|
|
46068
46123
|
y: 0
|
|
@@ -46071,22 +46126,33 @@ var MiddleLine = function MiddleLine(_ref) {
|
|
|
46071
46126
|
var _tick$formattedValue;
|
|
46072
46127
|
return (_tick$formattedValue = tick.formattedValue) != null ? _tick$formattedValue : tick.value;
|
|
46073
46128
|
});
|
|
46129
|
+
var genPoints = function genPoints(length, radius) {
|
|
46130
|
+
var step = Math.PI * 2 / length;
|
|
46131
|
+
return new Array(length).fill(0).map(function (_, i) {
|
|
46132
|
+
return {
|
|
46133
|
+
x: radius * Math.sin(i * step),
|
|
46134
|
+
y: radius * Math.cos(i * step)
|
|
46135
|
+
};
|
|
46136
|
+
});
|
|
46137
|
+
};
|
|
46074
46138
|
React.useEffect(function () {
|
|
46075
46139
|
var newWidths = textRefs.current.map(function (ref) {
|
|
46076
46140
|
return ref ? ref.getComputedTextLength() : 0;
|
|
46077
46141
|
});
|
|
46078
46142
|
setTextWidths(newWidths);
|
|
46079
|
-
}, [
|
|
46143
|
+
}, []);
|
|
46144
|
+
var points = genPoints(chart.x.ticks.length, radius);
|
|
46080
46145
|
points.push(points.shift());
|
|
46081
46146
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
46082
|
-
children:
|
|
46147
|
+
children: new Array(chart.x.ticks.length).fill(0).map(function (_, i) {
|
|
46083
46148
|
var xOffset = points[i].x >= 0 ? textWidths[i] / 2 : -(textWidths[i] / 2);
|
|
46084
|
-
return jsxRuntime.jsxs(
|
|
46149
|
+
return jsxRuntime.jsxs(React__default.Fragment, {
|
|
46085
46150
|
children: [jsxRuntime.jsx(shape.Line, {
|
|
46086
46151
|
from: zeroPoint,
|
|
46087
46152
|
to: points[i],
|
|
46088
|
-
|
|
46089
|
-
|
|
46153
|
+
style: _extends({
|
|
46154
|
+
stroke: themeCSS.axis.stroke
|
|
46155
|
+
}, LINE_STYLES)
|
|
46090
46156
|
}, "radar-line-" + i), show && jsxRuntime.jsx("text", {
|
|
46091
46157
|
ref: function ref(el) {
|
|
46092
46158
|
return textRefs.current[i] = el;
|
|
@@ -46097,13 +46163,13 @@ var MiddleLine = function MiddleLine(_ref) {
|
|
|
46097
46163
|
textAnchor: "middle",
|
|
46098
46164
|
children: categoryValues[i]
|
|
46099
46165
|
})]
|
|
46100
|
-
});
|
|
46166
|
+
}, "middle-line-" + i);
|
|
46101
46167
|
})
|
|
46102
46168
|
});
|
|
46103
46169
|
};
|
|
46104
46170
|
|
|
46105
46171
|
var genAngles = function genAngles(length, degrees) {
|
|
46106
|
-
return
|
|
46172
|
+
return new Array(length + 1).fill(0).map(function (_, i) {
|
|
46107
46173
|
return {
|
|
46108
46174
|
angle: i * (degrees / length) + (length % 2 === 0 ? 0 : degrees / length / 2)
|
|
46109
46175
|
};
|
|
@@ -46135,9 +46201,9 @@ var Grid$1 = function Grid(_ref) {
|
|
|
46135
46201
|
}, [chart.y.ticks]);
|
|
46136
46202
|
var chartValue = (_chart$y$ticks$scaleV = chart.y.ticks[levels - 1].scaleValue) != null ? _chart$y$ticks$scaleV : chart.y.ticks[levels - 1].value;
|
|
46137
46203
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
46138
|
-
children:
|
|
46204
|
+
children: new Array(levels).fill(0).map(function (_, i) {
|
|
46139
46205
|
var levelRadius = chart.y.ticks[i].value / chartValue * radius;
|
|
46140
|
-
return jsxRuntime.jsxs(
|
|
46206
|
+
return jsxRuntime.jsxs(React__default.Fragment, {
|
|
46141
46207
|
children: [jsxRuntime.jsx(shape.LineRadial, {
|
|
46142
46208
|
data: webs,
|
|
46143
46209
|
angle: function angle(d) {
|
|
@@ -46148,7 +46214,7 @@ var Grid$1 = function Grid(_ref) {
|
|
|
46148
46214
|
fill: "none",
|
|
46149
46215
|
style: _extends({
|
|
46150
46216
|
stroke: themeCSS.axis.stroke
|
|
46151
|
-
},
|
|
46217
|
+
}, LINE_STYLES)
|
|
46152
46218
|
}, "web-" + i), jsxRuntime.jsx("text", {
|
|
46153
46219
|
x: 0,
|
|
46154
46220
|
y: levelRadius,
|
|
@@ -46158,11 +46224,40 @@ var Grid$1 = function Grid(_ref) {
|
|
|
46158
46224
|
textAnchor: "middle",
|
|
46159
46225
|
children: tickFormat(chart.y.ticks[i].value)
|
|
46160
46226
|
})]
|
|
46161
|
-
});
|
|
46227
|
+
}, "grid-level-" + i);
|
|
46162
46228
|
})
|
|
46163
46229
|
});
|
|
46164
46230
|
};
|
|
46165
46231
|
|
|
46232
|
+
var getRadarTooltipData = function getRadarTooltipData(_ref) {
|
|
46233
|
+
var data = _ref.data,
|
|
46234
|
+
event$1 = _ref.event,
|
|
46235
|
+
totalDataPoints = _ref.totalDataPoints,
|
|
46236
|
+
centerX = _ref.centerX,
|
|
46237
|
+
centerY = _ref.centerY;
|
|
46238
|
+
var point = event.localPoint(event$1) || {
|
|
46239
|
+
x: 0,
|
|
46240
|
+
y: 0
|
|
46241
|
+
};
|
|
46242
|
+
if (!point) return;
|
|
46243
|
+
var mouseX = point.x - centerX;
|
|
46244
|
+
var mouseY = point.y - centerY;
|
|
46245
|
+
var mouseAngle = Math.atan2(mouseX, mouseY);
|
|
46246
|
+
if (mouseAngle < 0) {
|
|
46247
|
+
mouseAngle += 2 * Math.PI;
|
|
46248
|
+
}
|
|
46249
|
+
var step = Math.PI * 2 / totalDataPoints;
|
|
46250
|
+
var dataPointIndex = Math.round(mouseAngle / step) % totalDataPoints;
|
|
46251
|
+
dataPointIndex = (dataPointIndex - 1 + totalDataPoints) % totalDataPoints;
|
|
46252
|
+
var tooltipData = data[dataPointIndex] || null;
|
|
46253
|
+
var angle = (dataPointIndex + 1) * step;
|
|
46254
|
+
return {
|
|
46255
|
+
tooltipData: tooltipData,
|
|
46256
|
+
dataPointIndex: dataPointIndex,
|
|
46257
|
+
angle: angle
|
|
46258
|
+
};
|
|
46259
|
+
};
|
|
46260
|
+
|
|
46166
46261
|
var WIDTH_MULTIPLIER_TO_SCROLL = 1.2;
|
|
46167
46262
|
var LEGEND_PADDING = 40;
|
|
46168
46263
|
var RadarChart$2 = function RadarChart(_ref) {
|
|
@@ -46171,6 +46266,15 @@ var RadarChart$2 = function RadarChart(_ref) {
|
|
|
46171
46266
|
height = _ref.height,
|
|
46172
46267
|
options = _ref.options,
|
|
46173
46268
|
theme = _ref.theme;
|
|
46269
|
+
var _useTooltip = useTooltip$1(),
|
|
46270
|
+
tooltipOpen = _useTooltip.tooltipOpen,
|
|
46271
|
+
_useTooltip$tooltipLe = _useTooltip.tooltipLeft,
|
|
46272
|
+
tooltipLeft = _useTooltip$tooltipLe === void 0 ? 0 : _useTooltip$tooltipLe,
|
|
46273
|
+
_useTooltip$tooltipTo = _useTooltip.tooltipTop,
|
|
46274
|
+
tooltipTop = _useTooltip$tooltipTo === void 0 ? 0 : _useTooltip$tooltipTo,
|
|
46275
|
+
tooltipData = _useTooltip.tooltipData,
|
|
46276
|
+
hideTooltip = _useTooltip.hideTooltip,
|
|
46277
|
+
showTooltip = _useTooltip.showTooltip;
|
|
46174
46278
|
var ref = React.useRef(null);
|
|
46175
46279
|
var _useState = React.useState(0),
|
|
46176
46280
|
groupWidth = _useState[0],
|
|
@@ -46180,13 +46284,17 @@ var RadarChart$2 = function RadarChart(_ref) {
|
|
|
46180
46284
|
})),
|
|
46181
46285
|
visibleYKeys = _useState2[0],
|
|
46182
46286
|
setVisibleYKeys = _useState2[1];
|
|
46287
|
+
var _useState3 = React.useState(),
|
|
46288
|
+
hoveredDataPointIndex = _useState3[0],
|
|
46289
|
+
setHoveredDataPointIndex = _useState3[1];
|
|
46183
46290
|
var themeCSS = React.useMemo(function () {
|
|
46184
|
-
|
|
46291
|
+
var css = getChartThemeCSS(theme);
|
|
46292
|
+
return css;
|
|
46185
46293
|
}, [theme]);
|
|
46186
46294
|
var margin = buildMargin(chart.y.ticks, options.axis.showYAxisLabels, chart.y.title != null, chart.x.title != null);
|
|
46187
46295
|
var innerWidth = width - margin.left - margin.right - (options.showLegend ? LEGEND_PADDING : 0);
|
|
46188
46296
|
var innerHeight = height - margin.top - margin.bottom - (options.showLegend ? LEGEND_PADDING : 0);
|
|
46189
|
-
var radius = Math.min(innerWidth, innerHeight) / 2;
|
|
46297
|
+
var radius = Math.min(innerWidth, innerHeight) / 2 * 0.93;
|
|
46190
46298
|
React.useEffect(function () {
|
|
46191
46299
|
var _ref$current;
|
|
46192
46300
|
setVisibleYKeys(chart.lines.map(function (legendItem) {
|
|
@@ -46197,16 +46305,41 @@ var RadarChart$2 = function RadarChart(_ref) {
|
|
|
46197
46305
|
setVisibleYKeys([]);
|
|
46198
46306
|
};
|
|
46199
46307
|
}, [chart.lines]);
|
|
46308
|
+
var centerX = (groupWidth > width ? width * WIDTH_MULTIPLIER_TO_SCROLL : width) / 2;
|
|
46309
|
+
var centerY = height / 2 - margin.top * 2;
|
|
46310
|
+
var handleMouseMove = React.useCallback(function (event) {
|
|
46311
|
+
var radarTooltipData = getRadarTooltipData({
|
|
46312
|
+
data: chart.data,
|
|
46313
|
+
event: event,
|
|
46314
|
+
totalDataPoints: chart.data.length,
|
|
46315
|
+
centerX: centerX,
|
|
46316
|
+
centerY: centerY
|
|
46317
|
+
});
|
|
46318
|
+
if (radarTooltipData) {
|
|
46319
|
+
setHoveredDataPointIndex(radarTooltipData.dataPointIndex);
|
|
46320
|
+
showTooltip({
|
|
46321
|
+
tooltipLeft: event.pageX,
|
|
46322
|
+
tooltipTop: event.pageY,
|
|
46323
|
+
tooltipData: radarTooltipData.tooltipData
|
|
46324
|
+
});
|
|
46325
|
+
}
|
|
46326
|
+
}, [showTooltip, chart.data, centerX, centerY]);
|
|
46327
|
+
var handleMouseLeave = React.useCallback(function () {
|
|
46328
|
+
hideTooltip();
|
|
46329
|
+
setHoveredDataPointIndex(-1);
|
|
46330
|
+
}, [hideTooltip]);
|
|
46200
46331
|
if (width < 10) return null;
|
|
46201
46332
|
return jsxRuntime.jsxs(React.Fragment, {
|
|
46202
46333
|
children: [jsxRuntime.jsx(ChartWrapper$1, {
|
|
46203
46334
|
width: groupWidth > width ? width * WIDTH_MULTIPLIER_TO_SCROLL : width,
|
|
46204
46335
|
height: height,
|
|
46205
46336
|
showLegend: options.showLegend,
|
|
46337
|
+
onMouseMove: handleMouseMove,
|
|
46338
|
+
onMouseLeave: handleMouseLeave,
|
|
46206
46339
|
children: jsxRuntime.jsxs(group.Group, {
|
|
46207
46340
|
innerRef: ref,
|
|
46208
|
-
top:
|
|
46209
|
-
left:
|
|
46341
|
+
top: centerY,
|
|
46342
|
+
left: centerX,
|
|
46210
46343
|
children: [jsxRuntime.jsx(MiddleLine, {
|
|
46211
46344
|
chart: chart,
|
|
46212
46345
|
radius: radius,
|
|
@@ -46219,7 +46352,9 @@ var RadarChart$2 = function RadarChart(_ref) {
|
|
|
46219
46352
|
}), jsxRuntime.jsx(Polygons, {
|
|
46220
46353
|
chart: chart,
|
|
46221
46354
|
radius: radius,
|
|
46222
|
-
visibleYKeys: visibleYKeys
|
|
46355
|
+
visibleYKeys: visibleYKeys,
|
|
46356
|
+
tooltipData: tooltipData,
|
|
46357
|
+
hoveredDataPointIndex: hoveredDataPointIndex
|
|
46223
46358
|
})]
|
|
46224
46359
|
})
|
|
46225
46360
|
}), options.showLegend && jsxRuntime.jsx(Legend$1, {
|
|
@@ -46231,6 +46366,21 @@ var RadarChart$2 = function RadarChart(_ref) {
|
|
|
46231
46366
|
setVisibleYKeys: setVisibleYKeys,
|
|
46232
46367
|
keys: chart.keys,
|
|
46233
46368
|
marginLeft: margin.left - margin.leftTitleOffset
|
|
46369
|
+
}), tooltipOpen && tooltipData && chart.x.key && jsxRuntime.jsx(Tooltip$1, {
|
|
46370
|
+
items: [{
|
|
46371
|
+
legendItems: chart.lines,
|
|
46372
|
+
visibleYKeys: visibleYKeys,
|
|
46373
|
+
conditionalFormattingRules: []
|
|
46374
|
+
}],
|
|
46375
|
+
tooltipData: tooltipData,
|
|
46376
|
+
tooltipLeft: tooltipLeft,
|
|
46377
|
+
tooltipTop: tooltipTop,
|
|
46378
|
+
xKey: chart.x.key,
|
|
46379
|
+
keys: chart.keys,
|
|
46380
|
+
yKeys: chart.y.keys,
|
|
46381
|
+
showRoundedTotal: options.showRoundedTotal,
|
|
46382
|
+
theme: themeCSS.popoverMenus,
|
|
46383
|
+
shouldShowColorLegend: false
|
|
46234
46384
|
})]
|
|
46235
46385
|
});
|
|
46236
46386
|
};
|
|
@@ -52566,7 +52716,7 @@ var getScaleAndTicks$2 = function getScaleAndTicks(_ref) {
|
|
|
52566
52716
|
var maxY = y.max || 0;
|
|
52567
52717
|
var minY = Math.min(y.min || 0, 0);
|
|
52568
52718
|
var yTickInterval = getNiceInterval$2((maxY - minY) / (tickCountYAxis - 1));
|
|
52569
|
-
for (var i = 0; i <=
|
|
52719
|
+
for (var i = 0; i <= Math.ceil(maxY / yTickInterval); i++) {
|
|
52570
52720
|
var _value = yTickInterval * i;
|
|
52571
52721
|
var formattedValue = formattingFunctionY(_value, nullValue);
|
|
52572
52722
|
yTicks.push({
|