@semcore/d3-chart 2.17.5 → 3.0.0-beta.1
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/CHANGELOG.md +18 -2
- package/lib/cjs/Area.js +9 -9
- package/lib/cjs/Axis.js +14 -14
- package/lib/cjs/Bar.js +11 -10
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Bubble.js +18 -13
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/Donut.js +10 -8
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +9 -9
- package/lib/cjs/HorizontalBar.js +11 -10
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Hover.js +33 -11
- package/lib/cjs/Hover.js.map +1 -1
- package/lib/cjs/Line.js +8 -8
- package/lib/cjs/Plot.js +3 -3
- package/lib/cjs/Radar.js +82 -71
- package/lib/cjs/Radar.js.map +1 -1
- package/lib/cjs/RadialTree.js +92 -74
- package/lib/cjs/RadialTree.js.map +1 -1
- package/lib/cjs/ReferenceLine.js +9 -9
- package/lib/cjs/ResponsiveContainer.js +1 -2
- package/lib/cjs/ResponsiveContainer.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +15 -10
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/Tooltip.js +8 -8
- package/lib/cjs/Venn.js +10 -8
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yModule.js +2 -2
- package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yView.js +3 -3
- package/lib/cjs/a11y/hints.js.map +1 -1
- package/lib/cjs/a11y/serialize.js.map +1 -1
- package/lib/cjs/createElement.d.js +2 -0
- package/lib/cjs/createElement.d.js.map +1 -0
- package/lib/cjs/types/Area.d.js.map +1 -1
- package/lib/cjs/types/Axis.d.js.map +1 -1
- package/lib/cjs/types/Bar.d.js.map +1 -1
- package/lib/cjs/types/Bubble.d.js.map +1 -1
- package/lib/cjs/types/ClipPath.d.js.map +1 -1
- package/lib/cjs/types/Donut.d.js.map +1 -1
- package/lib/cjs/types/GroupBar.d.js.map +1 -1
- package/lib/cjs/types/HorizontalBar.d.js.map +1 -1
- package/lib/cjs/types/Hover.d.js.map +1 -1
- package/lib/cjs/types/Line.d.js.map +1 -1
- package/lib/cjs/types/Plot.d.js +0 -2
- package/lib/cjs/types/Plot.d.js.map +1 -1
- package/lib/cjs/types/Radar.d.js +2 -0
- package/lib/cjs/types/Radar.d.js.map +1 -0
- package/lib/cjs/types/ReferenceLine.d.js.map +1 -1
- package/lib/cjs/types/ResponsiveContainer.d.js.map +1 -1
- package/lib/cjs/types/ScatterPlot.d.js.map +1 -1
- package/lib/cjs/types/StackBar.d.js.map +1 -1
- package/lib/cjs/types/StackedArea.d.js.map +1 -1
- package/lib/cjs/types/Tooltip.d.js.map +1 -1
- package/lib/cjs/types/Venn.d.js.map +1 -1
- package/lib/cjs/types/context.d.js.map +1 -1
- package/lib/cjs/types/index.d.js.map +1 -1
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Area.js +9 -9
- package/lib/es6/Axis.js +14 -14
- package/lib/es6/Bar.js +11 -10
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Bubble.js +18 -13
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/Donut.js +10 -8
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +9 -9
- package/lib/es6/HorizontalBar.js +11 -10
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Hover.js +36 -12
- package/lib/es6/Hover.js.map +1 -1
- package/lib/es6/Line.js +8 -8
- package/lib/es6/Plot.js +3 -3
- package/lib/es6/Radar.js +84 -72
- package/lib/es6/Radar.js.map +1 -1
- package/lib/es6/RadialTree.js +90 -72
- package/lib/es6/RadialTree.js.map +1 -1
- package/lib/es6/ReferenceLine.js +9 -9
- package/lib/es6/ResponsiveContainer.js +0 -1
- package/lib/es6/ResponsiveContainer.js.map +1 -1
- package/lib/es6/ScatterPlot.js +15 -10
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/Tooltip.js +8 -8
- package/lib/es6/Venn.js +10 -8
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/a11y/PlotA11yModule.js +2 -2
- package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
- package/lib/es6/a11y/PlotA11yView.js +3 -3
- package/lib/es6/a11y/hints.js.map +1 -1
- package/lib/es6/a11y/serialize.js.map +1 -1
- package/lib/es6/createElement.d.js +2 -0
- package/lib/es6/createElement.d.js.map +1 -0
- package/lib/es6/types/Area.d.js.map +1 -1
- package/lib/es6/types/Axis.d.js.map +1 -1
- package/lib/es6/types/Bar.d.js.map +1 -1
- package/lib/es6/types/Bubble.d.js.map +1 -1
- package/lib/es6/types/ClipPath.d.js.map +1 -1
- package/lib/es6/types/Donut.d.js.map +1 -1
- package/lib/es6/types/GroupBar.d.js.map +1 -1
- package/lib/es6/types/HorizontalBar.d.js.map +1 -1
- package/lib/es6/types/Hover.d.js.map +1 -1
- package/lib/es6/types/Line.d.js.map +1 -1
- package/lib/es6/types/Plot.d.js +1 -1
- package/lib/es6/types/Plot.d.js.map +1 -1
- package/lib/es6/types/Radar.d.js +2 -0
- package/lib/es6/types/Radar.d.js.map +1 -0
- package/lib/es6/types/ReferenceLine.d.js.map +1 -1
- package/lib/es6/types/ResponsiveContainer.d.js.map +1 -1
- package/lib/es6/types/ScatterPlot.d.js.map +1 -1
- package/lib/es6/types/StackBar.d.js.map +1 -1
- package/lib/es6/types/StackedArea.d.js.map +1 -1
- package/lib/es6/types/Tooltip.d.js.map +1 -1
- package/lib/es6/types/Venn.d.js.map +1 -1
- package/lib/es6/types/context.d.js.map +1 -1
- package/lib/es6/types/index.d.js +3 -0
- package/lib/es6/types/index.d.js.map +1 -1
- package/lib/es6/utils.js.map +1 -1
- package/lib/types/Area.d.ts +26 -17
- package/lib/types/Axis.d.ts +40 -23
- package/lib/types/Bar.d.ts +32 -16
- package/lib/types/Bubble.d.ts +30 -12
- package/lib/types/ClipPath.d.ts +7 -5
- package/lib/types/Donut.d.ts +29 -13
- package/lib/types/GroupBar.d.ts +15 -12
- package/lib/types/HorizontalBar.d.ts +12 -12
- package/lib/types/Hover.d.ts +32 -8
- package/lib/types/Line.d.ts +33 -23
- package/lib/types/Plot.d.ts +34 -22
- package/lib/types/Radar.d.ts +145 -0
- package/lib/types/RadialTree.d.ts +53 -28
- package/lib/types/ReferenceLine.d.ts +27 -14
- package/lib/types/ResponsiveContainer.d.ts +18 -10
- package/lib/types/ScatterPlot.d.ts +25 -9
- package/lib/types/StackBar.d.ts +20 -14
- package/lib/types/StackedArea.d.ts +16 -12
- package/lib/types/Tooltip.d.ts +55 -23
- package/lib/types/Venn.d.ts +47 -29
- package/lib/types/a11y/PlotA11yModule.d.ts +1 -1
- package/lib/types/a11y/focus.d.ts +1 -1
- package/lib/types/a11y/hints.d.ts +5 -5
- package/lib/types/a11y/insights.d.ts +8 -8
- package/lib/types/a11y/intl.d.ts +1 -1
- package/lib/types/a11y/locale.d.ts +1 -1
- package/lib/types/a11y/serialize.d.ts +4 -4
- package/lib/types/a11y/summarize.d.ts +1 -1
- package/lib/types/context.d.ts +10 -0
- package/lib/types/createElement.d.ts +2 -0
- package/lib/types/index.d.ts +2 -0
- package/lib/types/utils.d.ts +10 -7
- package/package.json +10 -10
- package/lib/cjs/types/Radar.js +0 -2
- package/lib/cjs/types/Radar.js.map +0 -1
- package/lib/es6/types/Radar.js +0 -2
- package/lib/es6/types/Radar.js.map +0 -1
- package/lib/types/types/Radar.d.ts +0 -95
package/lib/cjs/Radar.js
CHANGED
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = void 0;
|
|
9
9
|
exports.getLabelOffsetPosition = getLabelOffsetPosition;
|
|
10
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
10
11
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
12
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
13
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
@@ -25,24 +26,25 @@ var _d3Polygon = require("d3-polygon");
|
|
|
25
26
|
var _d3Shape = require("d3-shape");
|
|
26
27
|
var _createElement = _interopRequireDefault(require("./createElement"));
|
|
27
28
|
var _utils = require("./utils");
|
|
29
|
+
var _Tooltip = _interopRequireDefault(require("./Tooltip"));
|
|
28
30
|
/*__reshadow-styles__:"./style/radar.shadow.css"*/
|
|
29
|
-
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
|
30
|
-
"__SAxis": "
|
|
31
|
-
"__SAxisLine": "
|
|
32
|
-
"__SAxisTick": "
|
|
33
|
-
"_active": "
|
|
34
|
-
"__SAxisLabel": "
|
|
35
|
-
"_xDirection": "
|
|
36
|
-
"--xDirection": "--
|
|
37
|
-
"_yDirection": "
|
|
38
|
-
"--yDirection": "--
|
|
39
|
-
"__SPolygon": "
|
|
40
|
-
"_color": "
|
|
41
|
-
"--color": "--
|
|
42
|
-
"__SPolygonDot": "
|
|
43
|
-
"_transparent": "
|
|
44
|
-
"__SPolygonLine": "
|
|
45
|
-
"__SPieRect": "
|
|
31
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SAxisLine_w6n75_gg_,.___SAxisTick_w6n75_gg_,.___SAxis_w6n75_gg_{stroke:var(--intergalactic-chart-grid-line, #e0e1e9);stroke-width:1;fill:transparent}.___SAxisLine_w6n75_gg_,.___SAxisTick_w6n75_gg_{stroke-dasharray:2}.___SAxisLine_w6n75_gg_.__active_w6n75_gg_{stroke:var(--intergalactic-chart-grid-y-accent-hover-line, #a9abb6)}.___SAxisLabel_w6n75_gg_{text-anchor:middle;dominant-baseline:central;font-size:12px}.___SAxisLabel_w6n75_gg_.__xDirection_w6n75_gg_{text-anchor:var(--xDirection_w6n75)}.___SAxisLabel_w6n75_gg_.__yDirection_w6n75_gg_{dominant-baseline:var(--yDirection_w6n75)}.___SPolygonDot_w6n75_gg_,.___SPolygon_w6n75_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SPolygon_w6n75_gg_{opacity:.2}.___SPolygon_w6n75_gg_.__color_w6n75_gg_{fill:var(--color_w6n75)}.___SPolygonDot_w6n75_gg_{stroke-width:2px;stroke:var(--intergalactic-chart-grid-border, #ffffff);r:6px}.___SPolygonDot_w6n75_gg_.__transparent_w6n75_gg_{opacity:.3}.___SPolygonDot_w6n75_gg_.__color_w6n75_gg_{fill:var(--color_w6n75)}.___SPolygonLine_w6n75_gg_{stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff);stroke-width:3;fill:transparent}.___SPolygonLine_w6n75_gg_.__transparent_w6n75_gg_{opacity:.3}.___SPolygonLine_w6n75_gg_.__color_w6n75_gg_{stroke:var(--color_w6n75)}.___SPieRect_w6n75_gg_{fill:var(--intergalactic-chart-grid-bar-chart-hover, rgba(196, 199, 207, 0.3))}" /*__inner_css_end__*/, "w6n75_gg_") /*__reshadow_css_end__*/, {
|
|
32
|
+
"__SAxis": "___SAxis_w6n75_gg_",
|
|
33
|
+
"__SAxisLine": "___SAxisLine_w6n75_gg_",
|
|
34
|
+
"__SAxisTick": "___SAxisTick_w6n75_gg_",
|
|
35
|
+
"_active": "__active_w6n75_gg_",
|
|
36
|
+
"__SAxisLabel": "___SAxisLabel_w6n75_gg_",
|
|
37
|
+
"_xDirection": "__xDirection_w6n75_gg_",
|
|
38
|
+
"--xDirection": "--xDirection_w6n75",
|
|
39
|
+
"_yDirection": "__yDirection_w6n75_gg_",
|
|
40
|
+
"--yDirection": "--yDirection_w6n75",
|
|
41
|
+
"__SPolygon": "___SPolygon_w6n75_gg_",
|
|
42
|
+
"_color": "__color_w6n75_gg_",
|
|
43
|
+
"--color": "--color_w6n75",
|
|
44
|
+
"__SPolygonDot": "___SPolygonDot_w6n75_gg_",
|
|
45
|
+
"_transparent": "__transparent_w6n75_gg_",
|
|
46
|
+
"__SPolygonLine": "___SPolygonLine_w6n75_gg_",
|
|
47
|
+
"__SPieRect": "___SPieRect_w6n75_gg_"
|
|
46
48
|
});
|
|
47
49
|
var clampAngle = function clampAngle(angle) {
|
|
48
50
|
angle = angle % (2 * Math.PI);
|
|
@@ -98,14 +100,14 @@ function getTicks(tickSize, radius) {
|
|
|
98
100
|
return ticks;
|
|
99
101
|
}, []);
|
|
100
102
|
}
|
|
101
|
-
function pieContains(
|
|
102
|
-
var
|
|
103
|
-
startAngle =
|
|
104
|
-
endAngle =
|
|
105
|
-
radius =
|
|
106
|
-
var
|
|
107
|
-
x =
|
|
108
|
-
y =
|
|
103
|
+
function pieContains(_ref12, _ref13) {
|
|
104
|
+
var _ref14 = (0, _slicedToArray2["default"])(_ref12, 3),
|
|
105
|
+
startAngle = _ref14[0],
|
|
106
|
+
endAngle = _ref14[1],
|
|
107
|
+
radius = _ref14[2];
|
|
108
|
+
var _ref15 = (0, _slicedToArray2["default"])(_ref13, 2),
|
|
109
|
+
x = _ref15[0],
|
|
110
|
+
y = _ref15[1];
|
|
109
111
|
var distance = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
|
|
110
112
|
if (distance > radius) return false;
|
|
111
113
|
startAngle = clampAngle(startAngle);
|
|
@@ -185,8 +187,8 @@ var RadarRoot = /*#__PURE__*/function (_Component) {
|
|
|
185
187
|
}
|
|
186
188
|
}, {
|
|
187
189
|
key: "getPolygonProps",
|
|
188
|
-
value: function getPolygonProps(
|
|
189
|
-
var dataKey =
|
|
190
|
+
value: function getPolygonProps(_ref16) {
|
|
191
|
+
var dataKey = _ref16.dataKey;
|
|
190
192
|
var _this$asProps2 = this.asProps,
|
|
191
193
|
data = _this$asProps2.data,
|
|
192
194
|
scale = _this$asProps2.scale,
|
|
@@ -211,7 +213,7 @@ var RadarRoot = /*#__PURE__*/function (_Component) {
|
|
|
211
213
|
}, {
|
|
212
214
|
key: "render",
|
|
213
215
|
value: function render() {
|
|
214
|
-
var
|
|
216
|
+
var _ref2;
|
|
215
217
|
var SRadar = this.Element;
|
|
216
218
|
var _this$asProps3 = this.asProps,
|
|
217
219
|
Children = _this$asProps3.Children,
|
|
@@ -236,7 +238,7 @@ var RadarRoot = /*#__PURE__*/function (_Component) {
|
|
|
236
238
|
}
|
|
237
239
|
this.categoriesKey = dataKey;
|
|
238
240
|
}
|
|
239
|
-
return
|
|
241
|
+
return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SRadar, _ref2.cn("SRadar", {
|
|
240
242
|
"aria-hidden": true,
|
|
241
243
|
"id": this.id,
|
|
242
244
|
"render": 'g',
|
|
@@ -300,7 +302,7 @@ var PolygonRoot = /*#__PURE__*/function (_Component2) {
|
|
|
300
302
|
}, {
|
|
301
303
|
key: "render",
|
|
302
304
|
value: function render() {
|
|
303
|
-
var
|
|
305
|
+
var _ref3;
|
|
304
306
|
var _this$asProps6 = this.asProps,
|
|
305
307
|
SPolygon = _this$asProps6.Element,
|
|
306
308
|
styles = _this$asProps6.styles,
|
|
@@ -308,7 +310,7 @@ var PolygonRoot = /*#__PURE__*/function (_Component2) {
|
|
|
308
310
|
data = _this$asProps6.data,
|
|
309
311
|
color = _this$asProps6.color,
|
|
310
312
|
fill = _this$asProps6.fill;
|
|
311
|
-
return
|
|
313
|
+
return _ref3 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SPolygon, _ref3.cn("SPolygon", {
|
|
312
314
|
"render": 'path',
|
|
313
315
|
"d": d3(data),
|
|
314
316
|
"color": fill || color
|
|
@@ -319,13 +321,13 @@ var PolygonRoot = /*#__PURE__*/function (_Component2) {
|
|
|
319
321
|
}(_core.Component);
|
|
320
322
|
(0, _defineProperty2["default"])(PolygonRoot, "displayName", 'Polygon');
|
|
321
323
|
(0, _defineProperty2["default"])(PolygonRoot, "style", style);
|
|
322
|
-
(0, _defineProperty2["default"])(PolygonRoot, "defaultProps", function (
|
|
323
|
-
var scale =
|
|
324
|
-
|
|
325
|
-
curve =
|
|
326
|
-
size =
|
|
327
|
-
offset =
|
|
328
|
-
angleOffset =
|
|
324
|
+
(0, _defineProperty2["default"])(PolygonRoot, "defaultProps", function (_ref21) {
|
|
325
|
+
var scale = _ref21.scale,
|
|
326
|
+
_ref21$curve = _ref21.curve,
|
|
327
|
+
curve = _ref21$curve === void 0 ? _d3Shape.curveLinearClosed : _ref21$curve,
|
|
328
|
+
size = _ref21.size,
|
|
329
|
+
offset = _ref21.offset,
|
|
330
|
+
angleOffset = _ref21.angleOffset;
|
|
329
331
|
scale.range([0, Math.min(size[0], size[1]) / 2 - offset]);
|
|
330
332
|
return {
|
|
331
333
|
d3: (0, _d3Shape.lineRadial)().curve(curve).radius(function (d) {
|
|
@@ -336,14 +338,14 @@ var PolygonRoot = /*#__PURE__*/function (_Component2) {
|
|
|
336
338
|
};
|
|
337
339
|
});
|
|
338
340
|
function PolygonLine(props) {
|
|
339
|
-
var
|
|
341
|
+
var _ref4;
|
|
340
342
|
var SPolygonLine = props.Element,
|
|
341
343
|
styles = props.styles,
|
|
342
344
|
d3 = props.d3,
|
|
343
345
|
color = props.color,
|
|
344
346
|
data = props.data,
|
|
345
347
|
transparent = props.transparent;
|
|
346
|
-
return
|
|
348
|
+
return _ref4 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SPolygonLine, _ref4.cn("SPolygonLine", {
|
|
347
349
|
"render": 'path',
|
|
348
350
|
"d": d3(data),
|
|
349
351
|
"color": color,
|
|
@@ -360,7 +362,7 @@ function PolygonDots(props) {
|
|
|
360
362
|
categoryKey = props.categoryKey,
|
|
361
363
|
angleOffset = props.angleOffset;
|
|
362
364
|
return data.map(function (value, i) {
|
|
363
|
-
var
|
|
365
|
+
var _ref5;
|
|
364
366
|
if (value === null || value === undefined) return;
|
|
365
367
|
var radius = scale(value);
|
|
366
368
|
props.dataHintsHandler.describeGroupedValues(categoryKey, "".concat(categoryKey, ".").concat(i));
|
|
@@ -368,7 +370,7 @@ function PolygonDots(props) {
|
|
|
368
370
|
_getRadianPosition2 = (0, _slicedToArray2["default"])(_getRadianPosition, 2),
|
|
369
371
|
cx = _getRadianPosition2[0],
|
|
370
372
|
cy = _getRadianPosition2[1];
|
|
371
|
-
return
|
|
373
|
+
return _ref5 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SPolygonDot, _ref5.cn("SPolygonDot", {
|
|
372
374
|
"key": i,
|
|
373
375
|
"render": 'circle',
|
|
374
376
|
"cx": cx,
|
|
@@ -392,8 +394,8 @@ var AxisRoot = /*#__PURE__*/function (_Component3) {
|
|
|
392
394
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "state", {
|
|
393
395
|
activeLineIndex: null
|
|
394
396
|
});
|
|
395
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "handlerTooltipVisible", function (visible,
|
|
396
|
-
var index =
|
|
397
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "handlerTooltipVisible", function (visible, _ref17) {
|
|
398
|
+
var index = _ref17.index;
|
|
397
399
|
_this2.setState({
|
|
398
400
|
activeLineIndex: index
|
|
399
401
|
});
|
|
@@ -411,9 +413,9 @@ var AxisRoot = /*#__PURE__*/function (_Component3) {
|
|
|
411
413
|
}
|
|
412
414
|
}, {
|
|
413
415
|
key: "getTicksProps",
|
|
414
|
-
value: function getTicksProps(
|
|
415
|
-
var
|
|
416
|
-
tickSize =
|
|
416
|
+
value: function getTicksProps(_ref18) {
|
|
417
|
+
var _ref18$tickSize = _ref18.tickSize,
|
|
418
|
+
tickSize = _ref18$tickSize === void 0 ? 100 : _ref18$tickSize;
|
|
417
419
|
var _this$asProps7 = this.asProps,
|
|
418
420
|
data = _this$asProps7.data,
|
|
419
421
|
offset = _this$asProps7.offset,
|
|
@@ -432,9 +434,9 @@ var AxisRoot = /*#__PURE__*/function (_Component3) {
|
|
|
432
434
|
}
|
|
433
435
|
}, {
|
|
434
436
|
key: "getLabelsProps",
|
|
435
|
-
value: function getLabelsProps(
|
|
436
|
-
var
|
|
437
|
-
labelOffset =
|
|
437
|
+
value: function getLabelsProps(_ref19) {
|
|
438
|
+
var _ref19$labelOffset = _ref19.labelOffset,
|
|
439
|
+
labelOffset = _ref19$labelOffset === void 0 ? 10 : _ref19$labelOffset;
|
|
438
440
|
var _this$asProps8 = this.asProps,
|
|
439
441
|
offset = _this$asProps8.offset,
|
|
440
442
|
categories = _this$asProps8.categories,
|
|
@@ -463,7 +465,7 @@ var AxisRoot = /*#__PURE__*/function (_Component3) {
|
|
|
463
465
|
}, {
|
|
464
466
|
key: "render",
|
|
465
467
|
value: function render() {
|
|
466
|
-
var
|
|
468
|
+
var _ref6;
|
|
467
469
|
var _this$asProps9 = this.asProps,
|
|
468
470
|
SAxis = _this$asProps9.Element,
|
|
469
471
|
styles = _this$asProps9.styles,
|
|
@@ -475,12 +477,12 @@ var AxisRoot = /*#__PURE__*/function (_Component3) {
|
|
|
475
477
|
var activeLineIndex = this.state.activeLineIndex;
|
|
476
478
|
var radius = Math.min(size[0], size[1]) / 2 - offset;
|
|
477
479
|
var total = categories.length;
|
|
478
|
-
return
|
|
480
|
+
return _ref6 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, type === 'circle' ? /*#__PURE__*/_react["default"].createElement(SAxis, _ref6.cn("SAxis", {
|
|
479
481
|
"render": 'circle',
|
|
480
482
|
"cx": 0,
|
|
481
483
|
"cy": 0,
|
|
482
484
|
"r": radius
|
|
483
|
-
})) : /*#__PURE__*/_react["default"].createElement(SAxis,
|
|
485
|
+
})) : /*#__PURE__*/_react["default"].createElement(SAxis, _ref6.cn("SAxis", {
|
|
484
486
|
"render": 'path',
|
|
485
487
|
"d": this.createLineRadial(radius, total)(categories)
|
|
486
488
|
})), categories.map(function (category, i) {
|
|
@@ -507,9 +509,9 @@ var AxisRoot = /*#__PURE__*/function (_Component3) {
|
|
|
507
509
|
}(_core.Component);
|
|
508
510
|
(0, _defineProperty2["default"])(AxisRoot, "displayName", 'Polygon');
|
|
509
511
|
(0, _defineProperty2["default"])(AxisRoot, "style", style);
|
|
510
|
-
(0, _defineProperty2["default"])(AxisRoot, "defaultProps", function (
|
|
511
|
-
var data =
|
|
512
|
-
dataKey =
|
|
512
|
+
(0, _defineProperty2["default"])(AxisRoot, "defaultProps", function (_ref22) {
|
|
513
|
+
var data = _ref22.data,
|
|
514
|
+
dataKey = _ref22.dataKey;
|
|
513
515
|
var categories = data[dataKey];
|
|
514
516
|
return {
|
|
515
517
|
categories: categories
|
|
@@ -526,17 +528,17 @@ function AxisTicks(props) {
|
|
|
526
528
|
type = props.type;
|
|
527
529
|
var radius = Math.min(size[0], size[1]) / 2 - offset;
|
|
528
530
|
return ticks.map(function (tick, i) {
|
|
529
|
-
var
|
|
531
|
+
var _ref7;
|
|
530
532
|
d3.radius(function () {
|
|
531
533
|
return radius * tick;
|
|
532
534
|
});
|
|
533
|
-
return
|
|
535
|
+
return _ref7 = (0, _core.sstyled)(styles), type === 'circle' ? /*#__PURE__*/_react["default"].createElement(SAxisTick, _ref7.cn("SAxisTick", {
|
|
534
536
|
"key": i,
|
|
535
537
|
"render": 'circle',
|
|
536
538
|
"cx": 0,
|
|
537
539
|
"cy": 0,
|
|
538
540
|
"r": radius * tick
|
|
539
|
-
})) : /*#__PURE__*/_react["default"].createElement(SAxisTick,
|
|
541
|
+
})) : /*#__PURE__*/_react["default"].createElement(SAxisTick, _ref7.cn("SAxisTick", {
|
|
540
542
|
"render": 'path',
|
|
541
543
|
"key": i,
|
|
542
544
|
"d": d3(categories)
|
|
@@ -562,10 +564,10 @@ function AxisLabels(props) {
|
|
|
562
564
|
xDirection = _getLabelPlacement2[0],
|
|
563
565
|
yDirection = _getLabelPlacement2[1];
|
|
564
566
|
if (typeof category === 'string') {
|
|
565
|
-
var
|
|
567
|
+
var _ref8;
|
|
566
568
|
props.dataHintsHandler.labelKey('value', i, category);
|
|
567
569
|
var lines = category.split('\n');
|
|
568
|
-
return
|
|
570
|
+
return _ref8 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SAxisLabel, _ref8.cn("SAxisLabel", {
|
|
569
571
|
"key": i,
|
|
570
572
|
"render": 'text',
|
|
571
573
|
"childrenPosition": 'inside',
|
|
@@ -583,11 +585,11 @@ function AxisLabels(props) {
|
|
|
583
585
|
}
|
|
584
586
|
if ( /*#__PURE__*/_react["default"].isValidElement(category)) {
|
|
585
587
|
var _category$props;
|
|
586
|
-
var
|
|
587
|
-
|
|
588
|
-
width =
|
|
589
|
-
|
|
590
|
-
height =
|
|
588
|
+
var _ref20 = (_category$props = category === null || category === void 0 ? void 0 : category.props) !== null && _category$props !== void 0 ? _category$props : {},
|
|
589
|
+
_ref20$width = _ref20.width,
|
|
590
|
+
width = _ref20$width === void 0 ? 0 : _ref20$width,
|
|
591
|
+
_ref20$height = _ref20.height,
|
|
592
|
+
height = _ref20$height === void 0 ? 0 : _ref20$height;
|
|
591
593
|
var _getLabelOffsetPositi = getLabelOffsetPosition(xDirection, yDirection, width, height),
|
|
592
594
|
_getLabelOffsetPositi2 = (0, _slicedToArray2["default"])(_getLabelOffsetPositi, 2),
|
|
593
595
|
xOffset = _getLabelOffsetPositi2[0],
|
|
@@ -755,20 +757,20 @@ var Hover = /*#__PURE__*/function (_Component4) {
|
|
|
755
757
|
var SPieRect = this.Element;
|
|
756
758
|
if (index !== null) {
|
|
757
759
|
if (type === 'circle') {
|
|
758
|
-
var
|
|
760
|
+
var _ref9;
|
|
759
761
|
var _this$getPie = this.getPie(index),
|
|
760
762
|
_this$getPie2 = (0, _slicedToArray2["default"])(_this$getPie, 3),
|
|
761
763
|
startAngle = _this$getPie2[0],
|
|
762
764
|
endAngle = _this$getPie2[1],
|
|
763
765
|
radius = _this$getPie2[2];
|
|
764
766
|
var circle = (0, _d3Shape.arc)().innerRadius(0).outerRadius(radius).startAngle(startAngle).endAngle(endAngle);
|
|
765
|
-
return
|
|
767
|
+
return _ref9 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SPieRect, _ref9.cn("SPieRect", {
|
|
766
768
|
"render": 'path',
|
|
767
769
|
"d": circle()
|
|
768
770
|
}));
|
|
769
771
|
} else {
|
|
770
|
-
var
|
|
771
|
-
return
|
|
772
|
+
var _ref10;
|
|
773
|
+
return _ref10 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SPieRect, _ref10.cn("SPieRect", {
|
|
772
774
|
"render": 'path',
|
|
773
775
|
"d": (0, _d3Shape.line)()(this.getPolygon(index))
|
|
774
776
|
}));
|
|
@@ -787,10 +789,19 @@ var Polygon = (0, _createElement["default"])(PolygonRoot, {
|
|
|
787
789
|
Line: PolygonLine,
|
|
788
790
|
Dots: PolygonDots
|
|
789
791
|
});
|
|
792
|
+
var RadarTooltip = function RadarTooltip(props) {
|
|
793
|
+
var _ref = arguments[0],
|
|
794
|
+
_ref11;
|
|
795
|
+
var SRadarTooltip = _Tooltip["default"];
|
|
796
|
+
return _ref11 = (0, _core.sstyled)(props.styles), /*#__PURE__*/_react["default"].createElement(SRadarTooltip, _ref11.cn("SRadarTooltip", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
|
797
|
+
"tag": Radar.Hover
|
|
798
|
+
}, _ref))));
|
|
799
|
+
};
|
|
790
800
|
var Radar = (0, _createElement["default"])(RadarRoot, {
|
|
791
801
|
Axis: Axis,
|
|
792
802
|
Polygon: Polygon,
|
|
793
|
-
Hover: Hover
|
|
803
|
+
Hover: Hover,
|
|
804
|
+
Tooltip: [RadarTooltip, _Tooltip["default"]._______childrenComponents]
|
|
794
805
|
});
|
|
795
806
|
var _default = Radar;
|
|
796
807
|
exports["default"] = _default;
|
package/lib/cjs/Radar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radar.js","names":["_core","require","_react","_interopRequireWildcard","_uniqueID","_interopRequireDefault","_getOriginChildren","_rafTrottle","_canUseDOM","_d3Polygon","_d3Shape","_createElement","_utils","style","sstyled","insert","clampAngle","angle","Math","PI","getBoxAxesValue","i","range","axes","total","angleOffset","func","sin","cos","getRadianPosition","getLabelXPlacement","getLabelYPlacement","getLabelPlacement","computeTextWidth","texts","textSize","defaultWidth","arguments","length","undefined","defaultHeight","widths","map","text","measureText","React","isValidElement","_text$props","_text$props2","max","props","width","height","apply","_toConsumableArray2","getTicks","tickSize","radius","ticks","trunc","Array","keys","reduce","t","push","pieContains","_ref10","_ref11","_ref12","_slicedToArray2","startAngle","endAngle","_ref13","x","y","distance","sqrt","pow","atan2","prevAngle","nextAngle","getLabelOffsetPosition","xDirection","yDirection","xOffset","yOffset","concat","MINIMUM_OFFSET","RadarRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","args","_key","call","_defineProperty2","_assertThisInitialized2","_createClass2","key","get","_this$asProps","asProps","id","uid","offset","computeOffset","value","getAxisProps","type","getPolygonProps","_ref14","dataKey","_this$asProps2","data","scale","getHoverProps","categories","categoriesKey","render","_ref","SRadar","Element","_this$asProps3","Children","styles","size","_size","dataHintsHandler","establishDataType","toArray","getOriginChildren","forEach","child","Radar","Axis","createElement","cn","Component","uniqueIDEnhancement","PolygonRoot","_Component2","_super2","getDotsProps","_this$asProps4","color","transparent","categoryKey","getLineProps","_this$asProps5","d3","_ref2","_this$asProps6","SPolygon","fill","_ref19","_ref19$curve","curve","curveLinearClosed","min","lineRadial","d","PolygonLine","_ref3","SPolygonLine","PolygonDots","SPolygonDot","_ref4","describeGroupedValues","_getRadianPosition","_getRadianPosition2","cx","cy","AxisRoot","_Component3","_super3","_this2","_len2","_key2","activeLineIndex","visible","_ref15","index","setState","createLineRadial","getTicksProps","_ref16","_ref16$tickSize","_this$asProps7","getLabelsProps","_ref17","_ref17$labelOffset","labelOffset","_this$asProps8","componentDidMount","eventEmitter","unsubscribeTooltipVisible","subscribe","handlerTooltipVisible","componentWillUnmount","_ref5","_this$asProps9","SAxis","state","Fragment","category","_getRadianPosition3","_getRadianPosition4","_sstyled$cn","active","className","x1","y1","x2","y2","_ref20","AxisTicks","SAxisTick","tick","_ref6","AxisLabels","SAxisLabel","_getRadianPosition5","_getRadianPosition6","_getLabelPlacement","_getLabelPlacement2","_ref7","labelKey","lines","split","lineText","lineIndex","_category$props","_ref18","_ref18$width","_ref18$height","_getLabelOffsetPositi","_getLabelOffsetPositi2","cloneElement","Hover","_Component4","_super4","_this3","_len3","_key3","canUseDOM","document","trottle","e","_this3$asProps","rootRef","point","eventToPoint","current","diam","centerX","centerY","clientX","clientY","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","getIndex","emit","top","right","bottom","left","getPolygon","_this$asProps10","prevIndex","nextIndex","_getRadianPosition7","_getRadianPosition8","prevX1","prevY1","_getRadianPosition9","_getRadianPosition10","_getRadianPosition11","_getRadianPosition12","nextX1","nextY1","getPie","_this$asProps11","_this4","_this$asProps12","findIndex","c","polygonContains","_this5","unsubscribeMouseMoveRoot","persist","handlerMouseMoveRoot","unsubscribeMouseLeaveRoot","handlerMouseLeaveRoot","_this$asProps13","SPieRect","_ref8","_this$getPie","_this$getPie2","circle","arc","innerRadius","outerRadius","_ref9","line","Ticks","Labels","Polygon","Line","Dots","_default","exports"],"sources":["../../src/Radar.jsx"],"sourcesContent":["import React, { cloneElement } from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { polygonContains } from 'd3-polygon';\nimport { line, lineRadial, curveLinearClosed, arc } from 'd3-shape';\nimport createElement from './createElement';\nimport { CONSTANT, eventToPoint, measureText } from './utils';\n\nimport style from './style/radar.shadow.css';\n\nconst clampAngle = (angle) => {\n angle = angle % (2 * Math.PI);\n if (angle < 0) angle += 2 * Math.PI;\n return angle;\n};\n\nfunction getBoxAxesValue(i, range, axes, total, angleOffset) {\n const func = axes === 'y' ? Math.sin : Math.cos;\n\n const angle = clampAngle(((total - i) * 2 * Math.PI) / total + angleOffset);\n return range * (1 - func(angle)) - range;\n}\n\nfunction getRadianPosition(i, range, total, angleOffset) {\n return [\n getBoxAxesValue(i, range, 'y', total, angleOffset),\n getBoxAxesValue(i, range, 'x', total, angleOffset),\n ];\n}\n\nconst getLabelXPlacement = (i, total, angleOffset) => {\n const angle = clampAngle((i / total) * (Math.PI * 2) - angleOffset);\n if (angle >= Math.PI + Math.PI * (8 / 9) || angle <= Math.PI * (1 / 9)) return 'middle';\n if (angle >= Math.PI * (8 / 9) && angle <= Math.PI + Math.PI * (1 / 9)) return 'middle';\n\n return angle < Math.PI ? 'start' : 'end';\n};\nconst getLabelYPlacement = (i, total, angleOffset) => {\n const angle = clampAngle((i / total) * (Math.PI * 2) - angleOffset);\n if (angle >= Math.PI + Math.PI * (8 / 9) || angle <= Math.PI * (1 / 9)) return 'alphabetic';\n if (angle >= Math.PI * (8 / 9) && angle <= Math.PI + Math.PI * (1 / 9)) return 'mathematical';\n\n return 'middle';\n};\n\nfunction getLabelPlacement(i, total, angleOffset) {\n return [getLabelXPlacement(i, total, angleOffset), getLabelYPlacement(i, total, angleOffset)];\n}\n\nfunction computeTextWidth(texts, textSize, defaultWidth = 50, defaultHeight = 20) {\n const widths = texts.map((text) => {\n if (typeof text === 'string') {\n return measureText(text, textSize);\n }\n if (React.isValidElement(text)) {\n // @ts-ignore\n return Math.max(text.props?.width || defaultWidth, text.props?.height || defaultHeight);\n }\n return defaultWidth;\n });\n return Math.max(...widths);\n}\n\nfunction getTicks(tickSize, radius) {\n let ticks = 0;\n while (Math.trunc(radius / (tickSize / 2)) > ticks) {\n ticks += 1;\n }\n return [...Array(ticks).keys()].reduce((ticks, t, i, total) => {\n if (i) ticks.push(i / total.length);\n return ticks;\n }, []);\n}\n\nfunction pieContains([startAngle, endAngle, radius], [x, y]) {\n const distance = Math.sqrt(x ** 2 + y ** 2);\n if (distance > radius) return false;\n\n startAngle = clampAngle(startAngle);\n endAngle = clampAngle(endAngle);\n startAngle = startAngle < endAngle ? startAngle : startAngle - 2 * Math.PI;\n\n const angle = clampAngle(Math.atan2(y, x) + Math.PI / 2);\n const prevAngle = angle - Math.PI * 2;\n const nextAngle = angle + Math.PI * 2;\n\n if (angle > startAngle && angle < endAngle) return true;\n if (prevAngle > startAngle && prevAngle < endAngle) return true;\n if (nextAngle > startAngle && nextAngle < endAngle) return true;\n return false;\n}\n\nexport function getLabelOffsetPosition(xDirection, yDirection, width, height) {\n let xOffset = 0;\n let yOffset = 0;\n switch (`${xDirection}-${yDirection}`) {\n case 'middle-alphabetic':\n yOffset = height / 2;\n break;\n case 'start-middle':\n xOffset = -width / 2;\n break;\n case 'middle-mathematical':\n yOffset = -height / 2;\n break;\n case 'end-middle':\n xOffset = width / 2;\n break;\n }\n return [xOffset + width / 2, yOffset + height / 2];\n}\n\nconst MINIMUM_OFFSET = 5;\n\nclass RadarRoot extends Component {\n static displayName = 'Line';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n computeOffset = 0;\n\n categoriesKey = null;\n\n static defaultProps = {\n type: 'polygon',\n angleOffset: 0,\n };\n\n get id() {\n const { id, uid } = this.asProps;\n return id || uid;\n }\n\n get offset() {\n const { offset } = this.asProps;\n return offset ?? this.computeOffset;\n }\n\n get textSize() {\n const { textSize } = this.asProps;\n return textSize ?? 12;\n }\n\n getAxisProps() {\n return {\n offset: this.offset,\n textSize: this.textSize,\n type: this.asProps.type,\n angleOffset: this.asProps.angleOffset,\n };\n }\n\n getPolygonProps({ dataKey }) {\n const { data, scale, angleOffset } = this.asProps;\n\n return {\n offset: this.offset,\n data: data[dataKey] || [],\n scale,\n angleOffset,\n };\n }\n\n getHoverProps() {\n return {\n type: this.asProps.type,\n offset: this.offset,\n categories: this.asProps.data[this.categoriesKey],\n angleOffset: this.asProps.angleOffset,\n };\n }\n\n render() {\n const SRadar = this.Element;\n const { Children, styles, size, data, offset } = this.asProps;\n const [width, height] = size;\n\n this.asProps.dataHintsHandler.establishDataType('indexed-groups');\n\n let dataKey;\n React.Children.toArray(getOriginChildren(Children)).forEach((child) => {\n if (React.isValidElement(child) && child.type === Radar.Axis) {\n dataKey = child.props.dataKey;\n }\n });\n if (dataKey) {\n if (offset === undefined) {\n // +5 because font might not be loaded and just in case)\n this.computeOffset = computeTextWidth(data[dataKey], this.textSize) + MINIMUM_OFFSET;\n }\n this.categoriesKey = dataKey;\n }\n\n return sstyled(styles)(\n <SRadar\n aria-hidden\n id={this.id}\n render='g'\n childrenPosition='inside'\n transform={`translate(${width / 2},${height / 2})`}\n />,\n );\n }\n}\n\nclass PolygonRoot extends Component {\n static displayName = 'Polygon';\n static style = style;\n\n static defaultProps = ({ scale, curve = curveLinearClosed, size, offset, angleOffset }) => {\n scale.range([0, Math.min(size[0], size[1]) / 2 - offset]);\n\n return {\n d3: lineRadial()\n .curve(curve)\n .radius((d) => {\n return scale(d || 0);\n })\n .angle((d, i, data) => {\n return (i / data.length) * 2 * Math.PI - angleOffset;\n }),\n };\n };\n\n getDotsProps() {\n const { data, scale, color, transparent, dataKey, dataHintsHandler, angleOffset } =\n this.asProps;\n return {\n data,\n scale,\n color,\n transparent,\n categoryKey: dataKey,\n dataHintsHandler,\n angleOffset,\n };\n }\n\n getLineProps() {\n const { d3, data, color, transparent } = this.asProps;\n return {\n data,\n color,\n transparent,\n d3,\n };\n }\n\n render() {\n const { Element: SPolygon, styles, d3, data, color, fill } = this.asProps;\n return sstyled(styles)(<SPolygon render='path' d={d3(data)} color={fill || color} />);\n }\n}\n\nfunction PolygonLine(props) {\n const { Element: SPolygonLine, styles, d3, color, data, transparent } = props;\n return sstyled(styles)(\n <SPolygonLine render='path' d={d3(data)} color={color} transparent={transparent} />,\n );\n}\n\nfunction PolygonDots(props) {\n const {\n Element: SPolygonDot,\n styles,\n color,\n data,\n scale,\n transparent,\n categoryKey,\n angleOffset,\n } = props;\n return data.map((value, i) => {\n if (value === null || value === undefined) return;\n const radius = scale(value);\n props.dataHintsHandler.describeGroupedValues(categoryKey, `${categoryKey}.${i}`);\n const [cx, cy] = getRadianPosition(i, radius, data.length, angleOffset);\n return sstyled(styles)(\n <SPolygonDot\n key={i}\n render='circle'\n cx={cx}\n cy={cy}\n color={color}\n transparent={transparent}\n />,\n );\n });\n}\n\nclass AxisRoot extends Component {\n static displayName = 'Polygon';\n static style = style;\n\n static defaultProps = ({ data, dataKey }) => {\n const categories = data[dataKey];\n return {\n categories,\n };\n };\n\n unsubscribeTooltipVisible = null;\n\n state = {\n activeLineIndex: null,\n };\n\n createLineRadial(radius, total) {\n return lineRadial()\n .curve(curveLinearClosed)\n .radius(() => {\n return radius;\n })\n .angle((d, i) => {\n return (i / total) * 2 * Math.PI;\n });\n }\n\n getTicksProps({ tickSize = 100 }) {\n const { data, offset, categories, size, type } = this.asProps;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n return {\n type,\n data,\n categories,\n ticks: getTicks(tickSize, radius),\n offset,\n d3: this.createLineRadial(radius, categories.length),\n };\n }\n\n getLabelsProps({ labelOffset = 10 }) {\n const { offset, categories, textSize, angleOffset } = this.asProps;\n return {\n categories,\n textSize,\n offset: offset - labelOffset,\n angleOffset,\n };\n }\n\n handlerTooltipVisible = (visible, { index }) => {\n this.setState({\n activeLineIndex: index,\n });\n };\n\n componentDidMount() {\n const { eventEmitter } = this.asProps;\n this.unsubscribeTooltipVisible = eventEmitter.subscribe(\n 'onTooltipVisible',\n this.handlerTooltipVisible,\n );\n }\n\n componentWillUnmount() {\n if (this.unsubscribeTooltipVisible) {\n this.unsubscribeTooltipVisible();\n }\n }\n\n render() {\n const { Element: SAxis, styles, categories, size, offset, type, angleOffset } = this.asProps;\n const { activeLineIndex } = this.state;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n const total = categories.length;\n\n return sstyled(styles)(\n <>\n {type === 'circle' ? (\n <SAxis render='circle' cx={0} cy={0} r={radius} />\n ) : (\n <SAxis render='path' d={this.createLineRadial(radius, total)(categories)} />\n )}\n {categories.map((category, i) => {\n const [x, y] = getRadianPosition(i, radius, total, angleOffset);\n const { className } = sstyled(styles).cn('SAxisLine', {\n active: activeLineIndex === i,\n });\n return <line key={i} x1={0} y1={0} x2={x} y2={y} className={className} />;\n })}\n </>,\n );\n }\n}\n\nfunction AxisTicks(props) {\n const { Element: SAxisTick, styles, size, ticks, d3, categories, offset, type } = props;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n\n return ticks.map((tick, i) => {\n d3.radius(() => radius * tick);\n return sstyled(styles)(\n type === 'circle' ? (\n <SAxisTick key={i} render='circle' cx={0} cy={0} r={radius * tick} />\n ) : (\n <SAxisTick render='path' key={i} d={d3(categories)} />\n ),\n );\n });\n}\n\nfunction AxisLabels(props) {\n const { Element: SAxisLabel, styles, textSize, size, offset, categories, angleOffset } = props;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n\n return categories.map((category, i) => {\n const [x, y] = getRadianPosition(i, radius, categories.length, angleOffset);\n const [xDirection, yDirection] = getLabelPlacement(i, categories.length, angleOffset);\n if (typeof category === 'string') {\n props.dataHintsHandler.labelKey('value', i, category);\n\n const lines = category.split('\\n');\n return sstyled(styles)(\n <SAxisLabel\n key={i}\n render='text'\n childrenPosition='inside'\n x={x}\n y={y}\n xDirection={xDirection}\n yDirection={yDirection}\n >\n {lines.map((lineText, lineIndex) => (\n <tspan\n x={x}\n y={y + (lineIndex - (lines.length - 1) / 2) * textSize}\n key={`#${lineIndex}-${lineText}`}\n >\n {lineText}\n </tspan>\n ))}\n </SAxisLabel>,\n );\n }\n if (React.isValidElement(category)) {\n const { width = 0, height = 0 } = category?.props ?? {};\n const [xOffset, yOffset] = getLabelOffsetPosition(xDirection, yDirection, width, height);\n return cloneElement(category, {\n key: i,\n x: x - xOffset,\n y: y - yOffset,\n });\n }\n });\n}\n\nclass Hover extends Component {\n state = {\n index: null,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n unsubscribeMouseMoveRoot = null;\n unsubscribeMouseLeaveRoot = null;\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getPolygon(index) {\n const { categories, size, offset, angleOffset } = this.asProps;\n const total = categories.length;\n const diam = Math.min(size[0], size[1]);\n const radius = diam / 2 - offset;\n const prevIndex = (index - 1 + total) % total;\n const nextIndex = (index + 1 + total) % total;\n const [prevX1, prevY1] = getRadianPosition(prevIndex, radius, total, angleOffset);\n const [x, y] = getRadianPosition(index, radius, total, angleOffset);\n const [nextX1, nextY1] = getRadianPosition(nextIndex, radius, total, angleOffset);\n return [\n [0, 0],\n [(prevX1 + x) / 2, (prevY1 + y) / 2],\n [x, y],\n [(nextX1 + x) / 2, (nextY1 + y) / 2],\n ];\n }\n\n getPie(index) {\n const { categories, size, offset, angleOffset } = this.asProps;\n const angle = (Math.PI * 2) / categories.length;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n return [\n index * angle - angle / 2 - angleOffset,\n (index + 1) * angle - angle / 2 - angleOffset,\n radius,\n ];\n }\n\n getIndex(point) {\n const { categories, type } = this.asProps;\n let index;\n if (type === 'circle') {\n index = categories.findIndex((c, i) => pieContains(this.getPie(i), point));\n } else {\n index = categories.findIndex((c, i) => polygonContains(this.getPolygon(i), point));\n }\n return index === -1 ? null : index;\n }\n\n handlerMouseMoveRoot = trottle((e) => {\n const { eventEmitter, size, rootRef } = this.asProps;\n const point = eventToPoint(e, rootRef.current);\n const diam = Math.min(size[0], size[1]);\n const centerX = point[0] - diam / 2;\n const centerY = point[1] - diam / 2;\n const { clientX, clientY } = e;\n // @ts-ignore\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(\n clientX,\n clientY,\n );\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n\n const index = this.getIndex([centerX, centerY]);\n\n this.setState(\n {\n index,\n },\n () => {\n eventEmitter.emit('onTooltipVisible', index !== null, { index }, this.virtualElement);\n },\n );\n });\n\n handlerMouseLeaveRoot = trottle(() => {\n this.setState(\n {\n index: null,\n },\n () => {\n this.asProps.eventEmitter.emit('onTooltipVisible', false, { index: null });\n },\n );\n });\n\n componentDidMount() {\n const { eventEmitter } = this.asProps;\n this.unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveRoot', (e) => {\n e.persist();\n this.handlerMouseMoveRoot(e);\n });\n this.unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveRoot',\n this.handlerMouseLeaveRoot,\n );\n }\n\n componentWillUnmount() {\n if (this.unsubscribeMouseMoveRoot) {\n this.unsubscribeMouseMoveRoot();\n }\n if (this.unsubscribeMouseLeaveRoot) {\n this.unsubscribeMouseLeaveRoot();\n }\n }\n\n render() {\n const { styles, type } = this.asProps;\n const { index } = this.state;\n const SPieRect = this.Element;\n\n if (index !== null) {\n if (type === 'circle') {\n const [startAngle, endAngle, radius] = this.getPie(index);\n const circle = arc()\n .innerRadius(0)\n .outerRadius(radius)\n .startAngle(startAngle)\n .endAngle(endAngle);\n return sstyled(styles)(\n <SPieRect\n render='path'\n // @ts-ignore\n d={circle()}\n />,\n );\n } else {\n return sstyled(styles)(\n <SPieRect\n render='path'\n // @ts-ignore\n d={line()(this.getPolygon(index))}\n />,\n );\n }\n }\n\n return null;\n }\n}\n\nconst Axis = createElement(AxisRoot, {\n Ticks: AxisTicks,\n Labels: AxisLabels,\n});\n\nconst Polygon = createElement(PolygonRoot, {\n Line: PolygonLine,\n Dots: PolygonDots,\n});\n\nconst Radar = createElement(RadarRoot, {\n Axis,\n Polygon,\n Hover,\n});\n\nexport default Radar;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Radar.js","names":["_core","require","_react","_interopRequireWildcard","_uniqueID","_interopRequireDefault","_getOriginChildren","_rafTrottle","_canUseDOM","_d3Polygon","_d3Shape","_createElement","_utils","_Tooltip","style","sstyled","insert","clampAngle","angle","Math","PI","getBoxAxesValue","i","range","axes","total","angleOffset","func","sin","cos","getRadianPosition","getLabelXPlacement","getLabelYPlacement","getLabelPlacement","computeTextWidth","texts","textSize","defaultWidth","arguments","length","undefined","defaultHeight","widths","map","text","measureText","React","isValidElement","_text$props","_text$props2","max","props","width","height","apply","_toConsumableArray2","getTicks","tickSize","radius","ticks","trunc","Array","keys","reduce","t","push","pieContains","_ref12","_ref13","_ref14","_slicedToArray2","startAngle","endAngle","_ref15","x","y","distance","sqrt","pow","atan2","prevAngle","nextAngle","getLabelOffsetPosition","xDirection","yDirection","xOffset","yOffset","concat","MINIMUM_OFFSET","RadarRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","args","_key","call","_defineProperty2","_assertThisInitialized2","_createClass2","key","get","_this$asProps","asProps","id","uid","offset","computeOffset","value","getAxisProps","type","getPolygonProps","_ref16","dataKey","_this$asProps2","data","scale","getHoverProps","categories","categoriesKey","render","_ref2","SRadar","Element","_this$asProps3","Children","styles","size","_size","dataHintsHandler","establishDataType","toArray","getOriginChildren","forEach","child","Radar","Axis","createElement","cn","Component","uniqueIDEnhancement","PolygonRoot","_Component2","_super2","getDotsProps","_this$asProps4","color","transparent","categoryKey","getLineProps","_this$asProps5","d3","_ref3","_this$asProps6","SPolygon","fill","_ref21","_ref21$curve","curve","curveLinearClosed","min","lineRadial","d","PolygonLine","_ref4","SPolygonLine","PolygonDots","SPolygonDot","_ref5","describeGroupedValues","_getRadianPosition","_getRadianPosition2","cx","cy","AxisRoot","_Component3","_super3","_this2","_len2","_key2","activeLineIndex","visible","_ref17","index","setState","createLineRadial","getTicksProps","_ref18","_ref18$tickSize","_this$asProps7","getLabelsProps","_ref19","_ref19$labelOffset","labelOffset","_this$asProps8","componentDidMount","eventEmitter","unsubscribeTooltipVisible","subscribe","handlerTooltipVisible","componentWillUnmount","_ref6","_this$asProps9","SAxis","state","Fragment","category","_getRadianPosition3","_getRadianPosition4","_sstyled$cn","active","className","x1","y1","x2","y2","_ref22","AxisTicks","SAxisTick","tick","_ref7","AxisLabels","SAxisLabel","_getRadianPosition5","_getRadianPosition6","_getLabelPlacement","_getLabelPlacement2","_ref8","labelKey","lines","split","lineText","lineIndex","_category$props","_ref20","_ref20$width","_ref20$height","_getLabelOffsetPositi","_getLabelOffsetPositi2","cloneElement","Hover","_Component4","_super4","_this3","_len3","_key3","canUseDOM","document","trottle","e","_this3$asProps","rootRef","point","eventToPoint","current","diam","centerX","centerY","clientX","clientY","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","getIndex","emit","top","right","bottom","left","getPolygon","_this$asProps10","prevIndex","nextIndex","_getRadianPosition7","_getRadianPosition8","prevX1","prevY1","_getRadianPosition9","_getRadianPosition10","_getRadianPosition11","_getRadianPosition12","nextX1","nextY1","getPie","_this$asProps11","_this4","_this$asProps12","findIndex","c","polygonContains","_this5","unsubscribeMouseMoveRoot","persist","handlerMouseMoveRoot","unsubscribeMouseLeaveRoot","handlerMouseLeaveRoot","_this$asProps13","SPieRect","_ref9","_this$getPie","_this$getPie2","circle","arc","innerRadius","outerRadius","_ref10","line","Ticks","Labels","Polygon","Line","Dots","RadarTooltip","_ref","arguments[0]","_ref11","SRadarTooltip","Tooltip","_objectSpread2","assignProps","_______childrenComponents","_default","exports"],"sources":["../../src/Radar.jsx"],"sourcesContent":["import React, { cloneElement } from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { polygonContains } from 'd3-polygon';\nimport { line, lineRadial, curveLinearClosed, arc } from 'd3-shape';\nimport createElement from './createElement';\nimport { CONSTANT, eventToPoint, measureText } from './utils';\nimport Tooltip from './Tooltip';\n\nimport style from './style/radar.shadow.css';\n\nconst clampAngle = (angle) => {\n angle = angle % (2 * Math.PI);\n if (angle < 0) angle += 2 * Math.PI;\n return angle;\n};\n\nfunction getBoxAxesValue(i, range, axes, total, angleOffset) {\n const func = axes === 'y' ? Math.sin : Math.cos;\n\n const angle = clampAngle(((total - i) * 2 * Math.PI) / total + angleOffset);\n return range * (1 - func(angle)) - range;\n}\n\nfunction getRadianPosition(i, range, total, angleOffset) {\n return [\n getBoxAxesValue(i, range, 'y', total, angleOffset),\n getBoxAxesValue(i, range, 'x', total, angleOffset),\n ];\n}\n\nconst getLabelXPlacement = (i, total, angleOffset) => {\n const angle = clampAngle((i / total) * (Math.PI * 2) - angleOffset);\n if (angle >= Math.PI + Math.PI * (8 / 9) || angle <= Math.PI * (1 / 9)) return 'middle';\n if (angle >= Math.PI * (8 / 9) && angle <= Math.PI + Math.PI * (1 / 9)) return 'middle';\n\n return angle < Math.PI ? 'start' : 'end';\n};\nconst getLabelYPlacement = (i, total, angleOffset) => {\n const angle = clampAngle((i / total) * (Math.PI * 2) - angleOffset);\n if (angle >= Math.PI + Math.PI * (8 / 9) || angle <= Math.PI * (1 / 9)) return 'alphabetic';\n if (angle >= Math.PI * (8 / 9) && angle <= Math.PI + Math.PI * (1 / 9)) return 'mathematical';\n\n return 'middle';\n};\n\nfunction getLabelPlacement(i, total, angleOffset) {\n return [getLabelXPlacement(i, total, angleOffset), getLabelYPlacement(i, total, angleOffset)];\n}\n\nfunction computeTextWidth(texts, textSize, defaultWidth = 50, defaultHeight = 20) {\n const widths = texts.map((text) => {\n if (typeof text === 'string') {\n return measureText(text, textSize);\n }\n if (React.isValidElement(text)) {\n // @ts-ignore\n return Math.max(text.props?.width || defaultWidth, text.props?.height || defaultHeight);\n }\n return defaultWidth;\n });\n return Math.max(...widths);\n}\n\nfunction getTicks(tickSize, radius) {\n let ticks = 0;\n while (Math.trunc(radius / (tickSize / 2)) > ticks) {\n ticks += 1;\n }\n return [...Array(ticks).keys()].reduce((ticks, t, i, total) => {\n if (i) ticks.push(i / total.length);\n return ticks;\n }, []);\n}\n\nfunction pieContains([startAngle, endAngle, radius], [x, y]) {\n const distance = Math.sqrt(x ** 2 + y ** 2);\n if (distance > radius) return false;\n\n startAngle = clampAngle(startAngle);\n endAngle = clampAngle(endAngle);\n startAngle = startAngle < endAngle ? startAngle : startAngle - 2 * Math.PI;\n\n const angle = clampAngle(Math.atan2(y, x) + Math.PI / 2);\n const prevAngle = angle - Math.PI * 2;\n const nextAngle = angle + Math.PI * 2;\n\n if (angle > startAngle && angle < endAngle) return true;\n if (prevAngle > startAngle && prevAngle < endAngle) return true;\n if (nextAngle > startAngle && nextAngle < endAngle) return true;\n return false;\n}\n\nexport function getLabelOffsetPosition(xDirection, yDirection, width, height) {\n let xOffset = 0;\n let yOffset = 0;\n switch (`${xDirection}-${yDirection}`) {\n case 'middle-alphabetic':\n yOffset = height / 2;\n break;\n case 'start-middle':\n xOffset = -width / 2;\n break;\n case 'middle-mathematical':\n yOffset = -height / 2;\n break;\n case 'end-middle':\n xOffset = width / 2;\n break;\n }\n return [xOffset + width / 2, yOffset + height / 2];\n}\n\nconst MINIMUM_OFFSET = 5;\n\nclass RadarRoot extends Component {\n static displayName = 'Line';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n computeOffset = 0;\n\n categoriesKey = null;\n\n static defaultProps = {\n type: 'polygon',\n angleOffset: 0,\n };\n\n get id() {\n const { id, uid } = this.asProps;\n return id || uid;\n }\n\n get offset() {\n const { offset } = this.asProps;\n return offset ?? this.computeOffset;\n }\n\n get textSize() {\n const { textSize } = this.asProps;\n return textSize ?? 12;\n }\n\n getAxisProps() {\n return {\n offset: this.offset,\n textSize: this.textSize,\n type: this.asProps.type,\n angleOffset: this.asProps.angleOffset,\n };\n }\n\n getPolygonProps({ dataKey }) {\n const { data, scale, angleOffset } = this.asProps;\n\n return {\n offset: this.offset,\n data: data[dataKey] || [],\n scale,\n angleOffset,\n };\n }\n\n getHoverProps() {\n return {\n type: this.asProps.type,\n offset: this.offset,\n categories: this.asProps.data[this.categoriesKey],\n angleOffset: this.asProps.angleOffset,\n };\n }\n\n render() {\n const SRadar = this.Element;\n const { Children, styles, size, data, offset } = this.asProps;\n const [width, height] = size;\n\n this.asProps.dataHintsHandler.establishDataType('indexed-groups');\n\n let dataKey;\n React.Children.toArray(getOriginChildren(Children)).forEach((child) => {\n if (React.isValidElement(child) && child.type === Radar.Axis) {\n dataKey = child.props.dataKey;\n }\n });\n if (dataKey) {\n if (offset === undefined) {\n // +5 because font might not be loaded and just in case)\n this.computeOffset = computeTextWidth(data[dataKey], this.textSize) + MINIMUM_OFFSET;\n }\n this.categoriesKey = dataKey;\n }\n\n return sstyled(styles)(\n <SRadar\n aria-hidden\n id={this.id}\n render='g'\n childrenPosition='inside'\n transform={`translate(${width / 2},${height / 2})`}\n />,\n );\n }\n}\n\nclass PolygonRoot extends Component {\n static displayName = 'Polygon';\n static style = style;\n\n static defaultProps = ({ scale, curve = curveLinearClosed, size, offset, angleOffset }) => {\n scale.range([0, Math.min(size[0], size[1]) / 2 - offset]);\n\n return {\n d3: lineRadial()\n .curve(curve)\n .radius((d) => {\n return scale(d || 0);\n })\n .angle((d, i, data) => {\n return (i / data.length) * 2 * Math.PI - angleOffset;\n }),\n };\n };\n\n getDotsProps() {\n const { data, scale, color, transparent, dataKey, dataHintsHandler, angleOffset } =\n this.asProps;\n return {\n data,\n scale,\n color,\n transparent,\n categoryKey: dataKey,\n dataHintsHandler,\n angleOffset,\n };\n }\n\n getLineProps() {\n const { d3, data, color, transparent } = this.asProps;\n return {\n data,\n color,\n transparent,\n d3,\n };\n }\n\n render() {\n const { Element: SPolygon, styles, d3, data, color, fill } = this.asProps;\n return sstyled(styles)(<SPolygon render='path' d={d3(data)} color={fill || color} />);\n }\n}\n\nfunction PolygonLine(props) {\n const { Element: SPolygonLine, styles, d3, color, data, transparent } = props;\n return sstyled(styles)(\n <SPolygonLine render='path' d={d3(data)} color={color} transparent={transparent} />,\n );\n}\n\nfunction PolygonDots(props) {\n const {\n Element: SPolygonDot,\n styles,\n color,\n data,\n scale,\n transparent,\n categoryKey,\n angleOffset,\n } = props;\n return data.map((value, i) => {\n if (value === null || value === undefined) return;\n const radius = scale(value);\n props.dataHintsHandler.describeGroupedValues(categoryKey, `${categoryKey}.${i}`);\n const [cx, cy] = getRadianPosition(i, radius, data.length, angleOffset);\n return sstyled(styles)(\n <SPolygonDot\n key={i}\n render='circle'\n cx={cx}\n cy={cy}\n color={color}\n transparent={transparent}\n />,\n );\n });\n}\n\nclass AxisRoot extends Component {\n static displayName = 'Polygon';\n static style = style;\n\n static defaultProps = ({ data, dataKey }) => {\n const categories = data[dataKey];\n return {\n categories,\n };\n };\n\n unsubscribeTooltipVisible = null;\n\n state = {\n activeLineIndex: null,\n };\n\n createLineRadial(radius, total) {\n return lineRadial()\n .curve(curveLinearClosed)\n .radius(() => {\n return radius;\n })\n .angle((d, i) => {\n return (i / total) * 2 * Math.PI;\n });\n }\n\n getTicksProps({ tickSize = 100 }) {\n const { data, offset, categories, size, type } = this.asProps;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n return {\n type,\n data,\n categories,\n ticks: getTicks(tickSize, radius),\n offset,\n d3: this.createLineRadial(radius, categories.length),\n };\n }\n\n getLabelsProps({ labelOffset = 10 }) {\n const { offset, categories, textSize, angleOffset } = this.asProps;\n return {\n categories,\n textSize,\n offset: offset - labelOffset,\n angleOffset,\n };\n }\n\n handlerTooltipVisible = (visible, { index }) => {\n this.setState({\n activeLineIndex: index,\n });\n };\n\n componentDidMount() {\n const { eventEmitter } = this.asProps;\n this.unsubscribeTooltipVisible = eventEmitter.subscribe(\n 'onTooltipVisible',\n this.handlerTooltipVisible,\n );\n }\n\n componentWillUnmount() {\n if (this.unsubscribeTooltipVisible) {\n this.unsubscribeTooltipVisible();\n }\n }\n\n render() {\n const { Element: SAxis, styles, categories, size, offset, type, angleOffset } = this.asProps;\n const { activeLineIndex } = this.state;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n const total = categories.length;\n\n return sstyled(styles)(\n <>\n {type === 'circle' ? (\n <SAxis render='circle' cx={0} cy={0} r={radius} />\n ) : (\n <SAxis render='path' d={this.createLineRadial(radius, total)(categories)} />\n )}\n {categories.map((category, i) => {\n const [x, y] = getRadianPosition(i, radius, total, angleOffset);\n const { className } = sstyled(styles).cn('SAxisLine', {\n active: activeLineIndex === i,\n });\n return <line key={i} x1={0} y1={0} x2={x} y2={y} className={className} />;\n })}\n </>,\n );\n }\n}\n\nfunction AxisTicks(props) {\n const { Element: SAxisTick, styles, size, ticks, d3, categories, offset, type } = props;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n\n return ticks.map((tick, i) => {\n d3.radius(() => radius * tick);\n return sstyled(styles)(\n type === 'circle' ? (\n <SAxisTick key={i} render='circle' cx={0} cy={0} r={radius * tick} />\n ) : (\n <SAxisTick render='path' key={i} d={d3(categories)} />\n ),\n );\n });\n}\n\nfunction AxisLabels(props) {\n const { Element: SAxisLabel, styles, textSize, size, offset, categories, angleOffset } = props;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n\n return categories.map((category, i) => {\n const [x, y] = getRadianPosition(i, radius, categories.length, angleOffset);\n const [xDirection, yDirection] = getLabelPlacement(i, categories.length, angleOffset);\n if (typeof category === 'string') {\n props.dataHintsHandler.labelKey('value', i, category);\n\n const lines = category.split('\\n');\n return sstyled(styles)(\n <SAxisLabel\n key={i}\n render='text'\n childrenPosition='inside'\n x={x}\n y={y}\n xDirection={xDirection}\n yDirection={yDirection}\n >\n {lines.map((lineText, lineIndex) => (\n <tspan\n x={x}\n y={y + (lineIndex - (lines.length - 1) / 2) * textSize}\n key={`#${lineIndex}-${lineText}`}\n >\n {lineText}\n </tspan>\n ))}\n </SAxisLabel>,\n );\n }\n if (React.isValidElement(category)) {\n const { width = 0, height = 0 } = category?.props ?? {};\n const [xOffset, yOffset] = getLabelOffsetPosition(xDirection, yDirection, width, height);\n return cloneElement(category, {\n key: i,\n x: x - xOffset,\n y: y - yOffset,\n });\n }\n });\n}\n\nclass Hover extends Component {\n state = {\n index: null,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n unsubscribeMouseMoveRoot = null;\n unsubscribeMouseLeaveRoot = null;\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getPolygon(index) {\n const { categories, size, offset, angleOffset } = this.asProps;\n const total = categories.length;\n const diam = Math.min(size[0], size[1]);\n const radius = diam / 2 - offset;\n const prevIndex = (index - 1 + total) % total;\n const nextIndex = (index + 1 + total) % total;\n const [prevX1, prevY1] = getRadianPosition(prevIndex, radius, total, angleOffset);\n const [x, y] = getRadianPosition(index, radius, total, angleOffset);\n const [nextX1, nextY1] = getRadianPosition(nextIndex, radius, total, angleOffset);\n return [\n [0, 0],\n [(prevX1 + x) / 2, (prevY1 + y) / 2],\n [x, y],\n [(nextX1 + x) / 2, (nextY1 + y) / 2],\n ];\n }\n\n getPie(index) {\n const { categories, size, offset, angleOffset } = this.asProps;\n const angle = (Math.PI * 2) / categories.length;\n const radius = Math.min(size[0], size[1]) / 2 - offset;\n return [\n index * angle - angle / 2 - angleOffset,\n (index + 1) * angle - angle / 2 - angleOffset,\n radius,\n ];\n }\n\n getIndex(point) {\n const { categories, type } = this.asProps;\n let index;\n if (type === 'circle') {\n index = categories.findIndex((c, i) => pieContains(this.getPie(i), point));\n } else {\n index = categories.findIndex((c, i) => polygonContains(this.getPolygon(i), point));\n }\n return index === -1 ? null : index;\n }\n\n handlerMouseMoveRoot = trottle((e) => {\n const { eventEmitter, size, rootRef } = this.asProps;\n const point = eventToPoint(e, rootRef.current);\n const diam = Math.min(size[0], size[1]);\n const centerX = point[0] - diam / 2;\n const centerY = point[1] - diam / 2;\n const { clientX, clientY } = e;\n // @ts-ignore\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(\n clientX,\n clientY,\n );\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n\n const index = this.getIndex([centerX, centerY]);\n\n this.setState(\n {\n index,\n },\n () => {\n eventEmitter.emit('onTooltipVisible', index !== null, { index }, this.virtualElement);\n },\n );\n });\n\n handlerMouseLeaveRoot = trottle(() => {\n this.setState(\n {\n index: null,\n },\n () => {\n this.asProps.eventEmitter.emit('onTooltipVisible', false, { index: null });\n },\n );\n });\n\n componentDidMount() {\n const { eventEmitter } = this.asProps;\n this.unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveRoot', (e) => {\n e.persist();\n this.handlerMouseMoveRoot(e);\n });\n this.unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveRoot',\n this.handlerMouseLeaveRoot,\n );\n }\n\n componentWillUnmount() {\n if (this.unsubscribeMouseMoveRoot) {\n this.unsubscribeMouseMoveRoot();\n }\n if (this.unsubscribeMouseLeaveRoot) {\n this.unsubscribeMouseLeaveRoot();\n }\n }\n\n render() {\n const { styles, type } = this.asProps;\n const { index } = this.state;\n const SPieRect = this.Element;\n\n if (index !== null) {\n if (type === 'circle') {\n const [startAngle, endAngle, radius] = this.getPie(index);\n const circle = arc()\n .innerRadius(0)\n .outerRadius(radius)\n .startAngle(startAngle)\n .endAngle(endAngle);\n return sstyled(styles)(\n <SPieRect\n render='path'\n // @ts-ignore\n d={circle()}\n />,\n );\n } else {\n return sstyled(styles)(\n <SPieRect\n render='path'\n // @ts-ignore\n d={line()(this.getPolygon(index))}\n />,\n );\n }\n }\n\n return null;\n }\n}\n\nconst Axis = createElement(AxisRoot, {\n Ticks: AxisTicks,\n Labels: AxisLabels,\n});\n\nconst Polygon = createElement(PolygonRoot, {\n Line: PolygonLine,\n Dots: PolygonDots,\n});\n\nconst RadarTooltip = (props) => {\n const SRadarTooltip = Root;\n return sstyled(props.styles)(<SRadarTooltip render={Tooltip} tag={Radar.Hover} />);\n};\n\nconst Radar = createElement(RadarRoot, {\n Axis,\n Polygon,\n Hover,\n Tooltip: [RadarTooltip, Tooltip._______childrenComponents],\n});\n\nexport default Radar;\n"],"mappings":"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"}
|