@semcore/d3-chart 2.2.2 → 2.2.5
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 +22 -1
- package/lib/cjs/Area.js +9 -9
- package/lib/cjs/Area.js.map +1 -1
- package/lib/cjs/Axis.js +19 -17
- package/lib/cjs/Axis.js.map +1 -1
- package/lib/cjs/Bar.js +11 -11
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Bubble.js +12 -12
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/ClipPath.js +1 -1
- package/lib/cjs/ClipPath.js.map +1 -1
- package/lib/cjs/Donut.js +8 -8
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +9 -9
- package/lib/cjs/Dots.js.map +1 -1
- package/lib/cjs/GroupBar.js +8 -8
- package/lib/cjs/GroupBar.js.map +1 -1
- package/lib/cjs/HorizontalBar.js +11 -11
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Hover.js +4 -4
- package/lib/cjs/Hover.js.map +1 -1
- package/lib/cjs/Line.js +8 -8
- package/lib/cjs/Line.js.map +1 -1
- package/lib/cjs/Plot.js +4 -4
- package/lib/cjs/Plot.js.map +1 -1
- package/lib/cjs/RadialTree.js +99 -59
- package/lib/cjs/RadialTree.js.map +1 -1
- package/lib/cjs/ReferenceLine.js +10 -10
- package/lib/cjs/ReferenceLine.js.map +1 -1
- package/lib/cjs/ResponsiveContainer.js +2 -1
- package/lib/cjs/ResponsiveContainer.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +7 -7
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/StackBar.js +8 -8
- package/lib/cjs/StackBar.js.map +1 -1
- package/lib/cjs/StackedArea.js +8 -8
- package/lib/cjs/StackedArea.js.map +1 -1
- package/lib/cjs/Tooltip.js +15 -11
- package/lib/cjs/Tooltip.js.map +1 -1
- package/lib/cjs/Venn.js +9 -9
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/color.js.map +1 -1
- package/lib/cjs/createElement.js +1 -1
- package/lib/cjs/createElement.js.map +1 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/style/radial-tree.shadow.css +0 -1
- package/lib/cjs/types/index.d.ts +3 -0
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Area.js +9 -9
- package/lib/es6/Area.js.map +1 -1
- package/lib/es6/Axis.js +19 -17
- package/lib/es6/Axis.js.map +1 -1
- package/lib/es6/Bar.js +11 -11
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Bubble.js +12 -12
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/ClipPath.js +1 -1
- package/lib/es6/ClipPath.js.map +1 -1
- package/lib/es6/Donut.js +8 -8
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +9 -9
- package/lib/es6/Dots.js.map +1 -1
- package/lib/es6/GroupBar.js +8 -8
- package/lib/es6/GroupBar.js.map +1 -1
- package/lib/es6/HorizontalBar.js +11 -11
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Hover.js +4 -4
- package/lib/es6/Hover.js.map +1 -1
- package/lib/es6/Line.js +8 -8
- package/lib/es6/Line.js.map +1 -1
- package/lib/es6/Plot.js +4 -4
- package/lib/es6/Plot.js.map +1 -1
- package/lib/es6/RadialTree.js +99 -59
- package/lib/es6/RadialTree.js.map +1 -1
- package/lib/es6/ReferenceLine.js +10 -10
- package/lib/es6/ReferenceLine.js.map +1 -1
- package/lib/es6/ResponsiveContainer.js +2 -1
- package/lib/es6/ResponsiveContainer.js.map +1 -1
- package/lib/es6/ScatterPlot.js +7 -7
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/StackBar.js +8 -8
- package/lib/es6/StackBar.js.map +1 -1
- package/lib/es6/StackedArea.js +8 -8
- package/lib/es6/StackedArea.js.map +1 -1
- package/lib/es6/Tooltip.js +15 -11
- package/lib/es6/Tooltip.js.map +1 -1
- package/lib/es6/Venn.js +9 -9
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/color.js.map +1 -1
- package/lib/es6/createElement.js +1 -1
- package/lib/es6/createElement.js.map +1 -1
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/style/radial-tree.shadow.css +0 -1
- package/lib/es6/types/index.d.ts +3 -0
- package/lib/es6/utils.js.map +1 -1
- package/lib/types/index.d.ts +3 -0
- package/package.json +1 -1
- package/src/Area.jsx +0 -137
- package/src/Axis.jsx +0 -314
- package/src/Bar.jsx +0 -149
- package/src/Bubble.jsx +0 -165
- package/src/ClipPath.jsx +0 -47
- package/src/Donut.jsx +0 -319
- package/src/Dots.jsx +0 -97
- package/src/GroupBar.jsx +0 -76
- package/src/HorizontalBar.jsx +0 -135
- package/src/Hover.jsx +0 -153
- package/src/Line.jsx +0 -89
- package/src/Plot.jsx +0 -79
- package/src/RadialTree.tsx +0 -767
- package/src/ReferenceLine.jsx +0 -146
- package/src/ResponsiveContainer.jsx +0 -84
- package/src/ScatterPlot.jsx +0 -112
- package/src/StackBar.jsx +0 -105
- package/src/StackedArea.jsx +0 -65
- package/src/Tooltip.jsx +0 -145
- package/src/Venn.jsx +0 -114
- package/src/color.js +0 -21
- package/src/createElement.jsx +0 -135
- package/src/index.js +0 -27
- package/src/style/area.shadow.css +0 -37
- package/src/style/axis.shadow.css +0 -85
- package/src/style/bar.shadow.css +0 -21
- package/src/style/bubble.shadow.css +0 -45
- package/src/style/donut.shadow.css +0 -24
- package/src/style/dot.shadow.css +0 -29
- package/src/style/hover.shadow.css +0 -9
- package/src/style/line.shadow.css +0 -29
- package/src/style/plot.shadow.css +0 -6
- package/src/style/radial-tree.shadow.css +0 -34
- package/src/style/reference-line.shadow.css +0 -37
- package/src/style/scatterplot.shadow.css +0 -27
- package/src/style/tooltip.shadow.css +0 -36
- package/src/style/var.css +0 -125
- package/src/style/venn.shadow.css +0 -29
- package/src/types/Area.d.ts +0 -48
- package/src/types/Axis.d.ts +0 -64
- package/src/types/Bar.d.ts +0 -52
- package/src/types/Bubble.d.ts +0 -32
- package/src/types/ClipPath.d.ts +0 -26
- package/src/types/Donut.d.ts +0 -46
- package/src/types/GroupBar.d.ts +0 -20
- package/src/types/HorizontalBar.d.ts +0 -29
- package/src/types/Hover.d.ts +0 -15
- package/src/types/Line.d.ts +0 -50
- package/src/types/Plot.d.ts +0 -16
- package/src/types/ReferenceLine.d.ts +0 -31
- package/src/types/ResponsiveContainer.d.ts +0 -20
- package/src/types/ScatterPlot.d.ts +0 -27
- package/src/types/StackBar.d.ts +0 -26
- package/src/types/StackedArea.d.ts +0 -26
- package/src/types/Tooltip.d.ts +0 -33
- package/src/types/Venn.d.ts +0 -45
- package/src/types/context.d.ts +0 -6
- package/src/types/index.d.ts +0 -56
- package/src/utils.ts +0 -227
package/lib/es6/RadialTree.js
CHANGED
|
@@ -31,21 +31,20 @@ var style = (
|
|
|
31
31
|
/*__reshadow_css_start__*/
|
|
32
32
|
_sstyled.insert(
|
|
33
33
|
/*__inner_css_start__*/
|
|
34
|
-
".
|
|
34
|
+
".___SRadian_1yu7l_gg_{cursor:pointer;fill:#008ff8}.___SLine_1yu7l_gg_{stroke:#008ff8}.___SLine_1yu7l_gg_.__color_1yu7l_gg_{stroke:var(--color_1yu7l)}.___SCap_1yu7l_gg_{transition:r .1s}.___SLabel_1yu7l_gg_{fill:var(--color_1yu7l);cursor:var(--text-cursor_1yu7l)}.___SRadian_1yu7l_gg_:hover .___SLabel_1yu7l_gg_{fill:var(--color-hovered_1yu7l)}@media (prefers-reduced-motion){.___SLineCap_1yu7l_gg_{transition:none}}"
|
|
35
35
|
/*__inner_css_end__*/
|
|
36
|
-
, "
|
|
36
|
+
, "1yu7l_gg_")
|
|
37
37
|
/*__reshadow_css_end__*/
|
|
38
38
|
, {
|
|
39
|
-
"__SRadian": "
|
|
40
|
-
"__SLine": "
|
|
41
|
-
"_color": "
|
|
42
|
-
"--color": "--
|
|
43
|
-
"__SCap": "
|
|
44
|
-
"__SLabel": "
|
|
45
|
-
"--text-cursor": "--text-
|
|
46
|
-
"--
|
|
47
|
-
"
|
|
48
|
-
"__SLineCap": "___SLineCap_hkcqa_gg_"
|
|
39
|
+
"__SRadian": "___SRadian_1yu7l_gg_",
|
|
40
|
+
"__SLine": "___SLine_1yu7l_gg_",
|
|
41
|
+
"_color": "__color_1yu7l_gg_",
|
|
42
|
+
"--color": "--color_1yu7l",
|
|
43
|
+
"__SCap": "___SCap_1yu7l_gg_",
|
|
44
|
+
"__SLabel": "___SLabel_1yu7l_gg_",
|
|
45
|
+
"--text-cursor": "--text-cursor_1yu7l",
|
|
46
|
+
"--color-hovered": "--color-hovered_1yu7l",
|
|
47
|
+
"__SLineCap": "___SLineCap_1yu7l_gg_"
|
|
49
48
|
});
|
|
50
49
|
import { shade } from '@semcore/utils/lib/color';
|
|
51
50
|
import { measureText } from './utils';
|
|
@@ -81,10 +80,12 @@ var RadialTreeBase = /*#__PURE__*/function (_Component) {
|
|
|
81
80
|
}, {
|
|
82
81
|
key: "runAppearAnimation",
|
|
83
82
|
value: function runAppearAnimation() {
|
|
83
|
+
var _window$matchMedia;
|
|
84
|
+
|
|
84
85
|
var _this$asProps = this.asProps,
|
|
85
86
|
duration = _this$asProps.duration,
|
|
86
87
|
uid = _this$asProps.uid;
|
|
87
|
-
var preferReduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)')
|
|
88
|
+
var preferReduceMotion = (_window$matchMedia = window.matchMedia('(prefers-reduced-motion: reduce)')) === null || _window$matchMedia === void 0 ? void 0 : _window$matchMedia.matches;
|
|
88
89
|
/** using `!(>)` instead of `<=` to get true on NaN and non numbers stuff */
|
|
89
90
|
|
|
90
91
|
if (!(duration > 0)) return;
|
|
@@ -100,14 +101,16 @@ var RadialTreeBase = /*#__PURE__*/function (_Component) {
|
|
|
100
101
|
|
|
101
102
|
if (circlesNodes.length > 0) {
|
|
102
103
|
var attrs = circlesNodes.map(function (node) {
|
|
103
|
-
var cx
|
|
104
|
-
|
|
104
|
+
var _node$cx, _node$cx$baseVal, _node$cy, _node$cy$baseVal, _lineNode$x, _lineNode$x$baseVal, _lineNode$y, _lineNode$y$baseVal;
|
|
105
|
+
|
|
106
|
+
var cx = (_node$cx = node.cx) === null || _node$cx === void 0 ? void 0 : (_node$cx$baseVal = _node$cx.baseVal) === null || _node$cx$baseVal === void 0 ? void 0 : _node$cx$baseVal.value;
|
|
107
|
+
var cy = (_node$cy = node.cy) === null || _node$cy === void 0 ? void 0 : (_node$cy$baseVal = _node$cy.baseVal) === null || _node$cy$baseVal === void 0 ? void 0 : _node$cy$baseVal.value;
|
|
105
108
|
var radianIndex = parseInt(node.dataset.radianIndex, 10);
|
|
106
109
|
var lineNode = linesNodes[radianIndex];
|
|
107
110
|
return {
|
|
108
111
|
from: {
|
|
109
|
-
cx: lineNode.x1
|
|
110
|
-
cy: lineNode.y1
|
|
112
|
+
cx: (_lineNode$x = lineNode.x1) === null || _lineNode$x === void 0 ? void 0 : (_lineNode$x$baseVal = _lineNode$x.baseVal) === null || _lineNode$x$baseVal === void 0 ? void 0 : _lineNode$x$baseVal.value,
|
|
113
|
+
cy: (_lineNode$y = lineNode.y1) === null || _lineNode$y === void 0 ? void 0 : (_lineNode$y$baseVal = _lineNode$y.baseVal) === null || _lineNode$y$baseVal === void 0 ? void 0 : _lineNode$y$baseVal.value
|
|
111
114
|
},
|
|
112
115
|
to: {
|
|
113
116
|
cx: cx,
|
|
@@ -116,29 +119,39 @@ var RadialTreeBase = /*#__PURE__*/function (_Component) {
|
|
|
116
119
|
};
|
|
117
120
|
});
|
|
118
121
|
circlesAnimation.attr('opacity', 0).attr('cx', function (_, index) {
|
|
119
|
-
|
|
122
|
+
var _attrs$index$from;
|
|
123
|
+
|
|
124
|
+
return (_attrs$index$from = attrs[index].from) === null || _attrs$index$from === void 0 ? void 0 : _attrs$index$from.cx;
|
|
120
125
|
}).attr('cy', function (_, index) {
|
|
121
|
-
|
|
126
|
+
var _attrs$index$from2;
|
|
127
|
+
|
|
128
|
+
return (_attrs$index$from2 = attrs[index].from) === null || _attrs$index$from2 === void 0 ? void 0 : _attrs$index$from2.cy;
|
|
122
129
|
});
|
|
123
130
|
circlesAnimation.transition().duration(duration).attr('opacity', 1).attr('cx', function (_, index) {
|
|
124
|
-
|
|
131
|
+
var _attrs$index$to;
|
|
132
|
+
|
|
133
|
+
return (_attrs$index$to = attrs[index].to) === null || _attrs$index$to === void 0 ? void 0 : _attrs$index$to.cx;
|
|
125
134
|
}).attr('cy', function (_, index) {
|
|
126
|
-
|
|
135
|
+
var _attrs$index$to2;
|
|
136
|
+
|
|
137
|
+
return (_attrs$index$to2 = attrs[index].to) === null || _attrs$index$to2 === void 0 ? void 0 : _attrs$index$to2.cy;
|
|
127
138
|
});
|
|
128
139
|
}
|
|
129
140
|
|
|
130
141
|
if (iconsNodes.length > 0) {
|
|
131
142
|
var _attrs = iconsNodes.map(function (node) {
|
|
132
|
-
var x
|
|
133
|
-
|
|
134
|
-
var
|
|
135
|
-
var
|
|
143
|
+
var _node$x, _node$x$baseVal, _node$y, _node$y$baseVal, _node$width, _node$width$baseVal, _node$height, _node$height$baseVal, _lineNode$x2, _lineNode$x2$baseVal, _lineNode$y2, _lineNode$y2$baseVal;
|
|
144
|
+
|
|
145
|
+
var x = (_node$x = node.x) === null || _node$x === void 0 ? void 0 : (_node$x$baseVal = _node$x.baseVal) === null || _node$x$baseVal === void 0 ? void 0 : _node$x$baseVal.value;
|
|
146
|
+
var y = (_node$y = node.y) === null || _node$y === void 0 ? void 0 : (_node$y$baseVal = _node$y.baseVal) === null || _node$y$baseVal === void 0 ? void 0 : _node$y$baseVal.value;
|
|
147
|
+
var width = (_node$width = node.width) === null || _node$width === void 0 ? void 0 : (_node$width$baseVal = _node$width.baseVal) === null || _node$width$baseVal === void 0 ? void 0 : _node$width$baseVal.value;
|
|
148
|
+
var height = (_node$height = node.height) === null || _node$height === void 0 ? void 0 : (_node$height$baseVal = _node$height.baseVal) === null || _node$height$baseVal === void 0 ? void 0 : _node$height$baseVal.value;
|
|
136
149
|
var radianIndex = parseInt(node.dataset.radianIndex, 10);
|
|
137
150
|
var lineNode = linesNodes[radianIndex];
|
|
138
151
|
return {
|
|
139
152
|
from: {
|
|
140
|
-
x: lineNode.x1
|
|
141
|
-
y: lineNode.y1
|
|
153
|
+
x: ((_lineNode$x2 = lineNode.x1) === null || _lineNode$x2 === void 0 ? void 0 : (_lineNode$x2$baseVal = _lineNode$x2.baseVal) === null || _lineNode$x2$baseVal === void 0 ? void 0 : _lineNode$x2$baseVal.value) - width / 2,
|
|
154
|
+
y: ((_lineNode$y2 = lineNode.y1) === null || _lineNode$y2 === void 0 ? void 0 : (_lineNode$y2$baseVal = _lineNode$y2.baseVal) === null || _lineNode$y2$baseVal === void 0 ? void 0 : _lineNode$y2$baseVal.value) - height / 2
|
|
142
155
|
},
|
|
143
156
|
to: {
|
|
144
157
|
x: x,
|
|
@@ -148,25 +161,35 @@ var RadialTreeBase = /*#__PURE__*/function (_Component) {
|
|
|
148
161
|
});
|
|
149
162
|
|
|
150
163
|
iconsAnimation.attr('opacity', 0).attr('x', function (_, index) {
|
|
151
|
-
|
|
164
|
+
var _attrs$index$from3;
|
|
165
|
+
|
|
166
|
+
return (_attrs$index$from3 = _attrs[index].from) === null || _attrs$index$from3 === void 0 ? void 0 : _attrs$index$from3.x;
|
|
152
167
|
}).attr('y', function (_, index) {
|
|
153
|
-
|
|
168
|
+
var _attrs$index$from4;
|
|
169
|
+
|
|
170
|
+
return (_attrs$index$from4 = _attrs[index].from) === null || _attrs$index$from4 === void 0 ? void 0 : _attrs$index$from4.y;
|
|
154
171
|
});
|
|
155
172
|
iconsAnimation.transition().duration(duration).attr('opacity', 1).attr('x', function (_, index) {
|
|
156
|
-
|
|
173
|
+
var _attrs$index$to3;
|
|
174
|
+
|
|
175
|
+
return (_attrs$index$to3 = _attrs[index].to) === null || _attrs$index$to3 === void 0 ? void 0 : _attrs$index$to3.x;
|
|
157
176
|
}).attr('y', function (_, index) {
|
|
158
|
-
|
|
177
|
+
var _attrs$index$to4;
|
|
178
|
+
|
|
179
|
+
return (_attrs$index$to4 = _attrs[index].to) === null || _attrs$index$to4 === void 0 ? void 0 : _attrs$index$to4.y;
|
|
159
180
|
});
|
|
160
181
|
}
|
|
161
182
|
|
|
162
183
|
if (linesNodes.length > 0) {
|
|
163
184
|
var _attrs2 = linesNodes.map(function (node) {
|
|
164
|
-
var x2
|
|
165
|
-
|
|
185
|
+
var _node$x2, _node$x2$baseVal, _node$y2, _node$y2$baseVal, _node$x3, _node$x3$baseVal, _node$y3, _node$y3$baseVal;
|
|
186
|
+
|
|
187
|
+
var x2 = (_node$x2 = node.x2) === null || _node$x2 === void 0 ? void 0 : (_node$x2$baseVal = _node$x2.baseVal) === null || _node$x2$baseVal === void 0 ? void 0 : _node$x2$baseVal.value;
|
|
188
|
+
var y2 = (_node$y2 = node.y2) === null || _node$y2 === void 0 ? void 0 : (_node$y2$baseVal = _node$y2.baseVal) === null || _node$y2$baseVal === void 0 ? void 0 : _node$y2$baseVal.value;
|
|
166
189
|
return {
|
|
167
190
|
from: {
|
|
168
|
-
x2: node.x1
|
|
169
|
-
y2: node.y1
|
|
191
|
+
x2: (_node$x3 = node.x1) === null || _node$x3 === void 0 ? void 0 : (_node$x3$baseVal = _node$x3.baseVal) === null || _node$x3$baseVal === void 0 ? void 0 : _node$x3$baseVal.value,
|
|
192
|
+
y2: (_node$y3 = node.y1) === null || _node$y3 === void 0 ? void 0 : (_node$y3$baseVal = _node$y3.baseVal) === null || _node$y3$baseVal === void 0 ? void 0 : _node$y3$baseVal.value
|
|
170
193
|
},
|
|
171
194
|
to: {
|
|
172
195
|
x2: x2,
|
|
@@ -176,14 +199,22 @@ var RadialTreeBase = /*#__PURE__*/function (_Component) {
|
|
|
176
199
|
});
|
|
177
200
|
|
|
178
201
|
linesAnimation.attr('opacity', 0).attr('x2', function (_, index) {
|
|
179
|
-
|
|
202
|
+
var _attrs2$index$from;
|
|
203
|
+
|
|
204
|
+
return (_attrs2$index$from = _attrs2[index].from) === null || _attrs2$index$from === void 0 ? void 0 : _attrs2$index$from.x2;
|
|
180
205
|
}).attr('y2', function (_, index) {
|
|
181
|
-
|
|
206
|
+
var _attrs2$index$from2;
|
|
207
|
+
|
|
208
|
+
return (_attrs2$index$from2 = _attrs2[index].from) === null || _attrs2$index$from2 === void 0 ? void 0 : _attrs2$index$from2.y2;
|
|
182
209
|
});
|
|
183
210
|
linesAnimation.transition().duration(duration).attr('opacity', 1).attr('x2', function (_, index) {
|
|
184
|
-
|
|
211
|
+
var _attrs2$index$to;
|
|
212
|
+
|
|
213
|
+
return (_attrs2$index$to = _attrs2[index].to) === null || _attrs2$index$to === void 0 ? void 0 : _attrs2$index$to.x2;
|
|
185
214
|
}).attr('y2', function (_, index) {
|
|
186
|
-
|
|
215
|
+
var _attrs2$index$to2;
|
|
216
|
+
|
|
217
|
+
return (_attrs2$index$to2 = _attrs2[index].to) === null || _attrs2$index$to2 === void 0 ? void 0 : _attrs2$index$to2.y2;
|
|
187
218
|
});
|
|
188
219
|
}
|
|
189
220
|
|
|
@@ -195,7 +226,9 @@ var RadialTreeBase = /*#__PURE__*/function (_Component) {
|
|
|
195
226
|
}, {
|
|
196
227
|
key: "componentDidUpdate",
|
|
197
228
|
value: function componentDidUpdate(prevProps) {
|
|
198
|
-
|
|
229
|
+
var _prevProps$$rootProps, _this$asProps$data;
|
|
230
|
+
|
|
231
|
+
if (((_prevProps$$rootProps = prevProps.$rootProps.data) === null || _prevProps$$rootProps === void 0 ? void 0 : _prevProps$$rootProps.length) !== ((_this$asProps$data = this.asProps.data) === null || _this$asProps$data === void 0 ? void 0 : _this$asProps$data.length)) {
|
|
199
232
|
this.runAppearAnimation();
|
|
200
233
|
}
|
|
201
234
|
}
|
|
@@ -289,7 +322,7 @@ _defineProperty(RadialTreeBase, "defaultProps", {
|
|
|
289
322
|
angleOffset: 0,
|
|
290
323
|
duration: 300,
|
|
291
324
|
centralMargin: 50,
|
|
292
|
-
labelMargin:
|
|
325
|
+
labelMargin: 5,
|
|
293
326
|
iconColor: '#fff',
|
|
294
327
|
capSize: 8,
|
|
295
328
|
iconSize: 8,
|
|
@@ -339,7 +372,7 @@ var RadialTreeRadian = /*#__PURE__*/function (_Component2) {
|
|
|
339
372
|
}, {
|
|
340
373
|
key: "getLineProps",
|
|
341
374
|
value: function getLineProps(_ref12, index) {
|
|
342
|
-
var _ref13;
|
|
375
|
+
var _data$color, _ref13;
|
|
343
376
|
|
|
344
377
|
var $rootProps = _ref12.$rootProps;
|
|
345
378
|
var data = $rootProps.data[index];
|
|
@@ -351,7 +384,7 @@ var RadialTreeRadian = /*#__PURE__*/function (_Component2) {
|
|
|
351
384
|
yEnd = _this$computeRadianPo2.yEnd;
|
|
352
385
|
|
|
353
386
|
var uid = this.asProps.uid;
|
|
354
|
-
var color = data.color
|
|
387
|
+
var color = (_data$color = data.color) !== null && _data$color !== void 0 ? _data$color : this.asProps.color;
|
|
355
388
|
return _ref13 = {
|
|
356
389
|
x1: xStart,
|
|
357
390
|
y1: yStart,
|
|
@@ -363,7 +396,7 @@ var RadialTreeRadian = /*#__PURE__*/function (_Component2) {
|
|
|
363
396
|
}, {
|
|
364
397
|
key: "getCapProps",
|
|
365
398
|
value: function getCapProps(_ref14, index) {
|
|
366
|
-
var _ref15;
|
|
399
|
+
var _data$color2, _ref15;
|
|
367
400
|
|
|
368
401
|
var $rootProps = _ref14.$rootProps;
|
|
369
402
|
var data = $rootProps.data[index];
|
|
@@ -374,7 +407,7 @@ var RadialTreeRadian = /*#__PURE__*/function (_Component2) {
|
|
|
374
407
|
capSize = _this$computeRadianPo3.capSize;
|
|
375
408
|
|
|
376
409
|
var uid = this.asProps.uid;
|
|
377
|
-
var color = data.color
|
|
410
|
+
var color = (_data$color2 = data.color) !== null && _data$color2 !== void 0 ? _data$color2 : this.asProps.color;
|
|
378
411
|
return _ref15 = {
|
|
379
412
|
x: xEnd,
|
|
380
413
|
y: yEnd,
|
|
@@ -385,7 +418,7 @@ var RadialTreeRadian = /*#__PURE__*/function (_Component2) {
|
|
|
385
418
|
}, {
|
|
386
419
|
key: "getIconProps",
|
|
387
420
|
value: function getIconProps(_ref16, index) {
|
|
388
|
-
var _ref17;
|
|
421
|
+
var _data$iconColor, _data$iconSize, _data$icon, _ref17;
|
|
389
422
|
|
|
390
423
|
var $rootProps = _ref16.$rootProps;
|
|
391
424
|
var data = $rootProps.data[index];
|
|
@@ -396,20 +429,20 @@ var RadialTreeRadian = /*#__PURE__*/function (_Component2) {
|
|
|
396
429
|
isActive = _this$computeRadianPo4.isActive;
|
|
397
430
|
|
|
398
431
|
var uid = this.asProps.uid;
|
|
399
|
-
var iconColor = data.iconColor
|
|
400
|
-
var iconSize = data.iconSize
|
|
401
|
-
var icon = data.icon
|
|
432
|
+
var iconColor = (_data$iconColor = data.iconColor) !== null && _data$iconColor !== void 0 ? _data$iconColor : this.asProps.iconColor;
|
|
433
|
+
var iconSize = (_data$iconSize = data.iconSize) !== null && _data$iconSize !== void 0 ? _data$iconSize : this.asProps.iconSize;
|
|
434
|
+
var icon = (_data$icon = data.icon) !== null && _data$icon !== void 0 ? _data$icon : this.asProps.icon;
|
|
402
435
|
return _ref17 = {
|
|
403
436
|
x: xEnd - iconSize / 2,
|
|
404
437
|
y: yEnd - iconSize / 2,
|
|
405
438
|
iconSize: iconSize,
|
|
406
|
-
color: iconColor
|
|
439
|
+
color: iconColor !== null && iconColor !== void 0 ? iconColor : '#fff'
|
|
407
440
|
}, _defineProperty(_ref17, 'data-radial-animation', "".concat(uid, "-cap-icon")), _defineProperty(_ref17, 'data-radian-index', index), _defineProperty(_ref17, "icon", icon), _defineProperty(_ref17, "isActive", isActive), _ref17;
|
|
408
441
|
}
|
|
409
442
|
}, {
|
|
410
443
|
key: "getLabelProps",
|
|
411
444
|
value: function getLabelProps(_ref18, index) {
|
|
412
|
-
var _ref19;
|
|
445
|
+
var _data$color3, _ref19;
|
|
413
446
|
|
|
414
447
|
var $rootProps = _ref18.$rootProps;
|
|
415
448
|
var data = $rootProps.data[index];
|
|
@@ -424,7 +457,7 @@ var RadialTreeRadian = /*#__PURE__*/function (_Component2) {
|
|
|
424
457
|
uid = _this$asProps5.uid,
|
|
425
458
|
textSize = _this$asProps5.textSize;
|
|
426
459
|
var label = data.label;
|
|
427
|
-
var color = data.color
|
|
460
|
+
var color = (_data$color3 = data.color) !== null && _data$color3 !== void 0 ? _data$color3 : this.asProps.color;
|
|
428
461
|
return _ref19 = {
|
|
429
462
|
x: xLabelCenter,
|
|
430
463
|
y: yLabelCenter,
|
|
@@ -434,13 +467,18 @@ var RadialTreeRadian = /*#__PURE__*/function (_Component2) {
|
|
|
434
467
|
}, {
|
|
435
468
|
key: "getRadianKey",
|
|
436
469
|
value: function getRadianKey(data, index) {
|
|
437
|
-
|
|
470
|
+
var _data$key;
|
|
471
|
+
|
|
472
|
+
return (_data$key = data.key) !== null && _data$key !== void 0 ? _data$key : "radian-".concat(index);
|
|
438
473
|
}
|
|
439
474
|
}, {
|
|
440
475
|
key: "computeRadianPosition",
|
|
441
476
|
value: function computeRadianPosition(data, index) {
|
|
477
|
+
var _data$capSize;
|
|
478
|
+
|
|
442
479
|
var _this$asProps6 = this.asProps,
|
|
443
480
|
centralMargin = _this$asProps6.centralMargin,
|
|
481
|
+
labelMargin = _this$asProps6.labelMargin,
|
|
444
482
|
angleOffset = _this$asProps6.angleOffset,
|
|
445
483
|
activeKey = _this$asProps6.activeKey,
|
|
446
484
|
size = _this$asProps6.size,
|
|
@@ -453,10 +491,10 @@ var RadialTreeRadian = /*#__PURE__*/function (_Component2) {
|
|
|
453
491
|
|
|
454
492
|
var key = this.getRadianKey(data, index);
|
|
455
493
|
var isActive = activeKey === key;
|
|
456
|
-
var baseCapSize = data.capSize
|
|
494
|
+
var baseCapSize = (_data$capSize = data.capSize) !== null && _data$capSize !== void 0 ? _data$capSize : this.asProps.capSize;
|
|
457
495
|
var capSize = baseCapSize * (isActive ? 1 : 0.5);
|
|
458
496
|
var minDemSize = Math.min(width, height) / 2;
|
|
459
|
-
var length = Math.max(minDemSize - textWidth - baseCapSize - centralMargin, 10);
|
|
497
|
+
var length = Math.max(minDemSize - textWidth - baseCapSize - centralMargin - labelMargin * 2, 10);
|
|
460
498
|
var angle = baseAngle + angleOffset + index / radiansCount * (Math.PI * 2);
|
|
461
499
|
var isHorizontal = angle - baseAngle > 1 / 6 * Math.PI && angle - baseAngle < 5 / 6 * Math.PI || angle - baseAngle > 7 / 6 * Math.PI && angle - baseAngle < 11 / 6 * Math.PI;
|
|
462
500
|
var topAngle = -Math.PI / 2;
|
|
@@ -470,7 +508,7 @@ var RadialTreeRadian = /*#__PURE__*/function (_Component2) {
|
|
|
470
508
|
yStart = start[1];
|
|
471
509
|
var xEnd = end[0],
|
|
472
510
|
yEnd = end[1];
|
|
473
|
-
var labelCenter = [xCenter + Math.cos(angle) * (centralMargin + length + baseCapSize + textWidth / 2), yCenter + Math.sin(angle) * (centralMargin + length + baseCapSize + textWidth / 2)];
|
|
511
|
+
var labelCenter = [xCenter + Math.cos(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin), yCenter + Math.sin(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin)];
|
|
474
512
|
var xLabelCenter = labelCenter[0],
|
|
475
513
|
yLabelCenter = labelCenter[1];
|
|
476
514
|
return {
|
|
@@ -620,12 +658,14 @@ var Label = function Label(_ref24) {
|
|
|
620
658
|
var lines = String(label).split('\n');
|
|
621
659
|
var linesCount = lines.length;
|
|
622
660
|
var SLabelLine = 'tspan';
|
|
661
|
+
var angleDegs = (angle / Math.PI * 180).toFixed(2);
|
|
662
|
+
var transformOrigin = [x.toFixed(2), y.toFixed(2)];
|
|
663
|
+
var transform = "rotate(".concat([angleDegs].concat(transformOrigin).join(', '), ")");
|
|
623
664
|
var sstyles = sstyled(styles);
|
|
624
665
|
var sLabelStyles = sstyles.cn('SLabel', {
|
|
625
666
|
color: color,
|
|
626
667
|
'color-hovered': shade(color, -0.12),
|
|
627
|
-
'text-cursor': isHorizontal ? 'text' : 'vertical-text'
|
|
628
|
-
'transform-origin': "".concat(x.toFixed(2), "px ").concat(y.toFixed(2), "px")
|
|
668
|
+
'text-cursor': isHorizontal ? 'text' : 'vertical-text'
|
|
629
669
|
});
|
|
630
670
|
return /*#__PURE__*/React.createElement(SLabel, {
|
|
631
671
|
render: "text",
|
|
@@ -635,7 +675,7 @@ var Label = function Label(_ref24) {
|
|
|
635
675
|
style: sLabelStyles.style,
|
|
636
676
|
x: x.toFixed(2),
|
|
637
677
|
y: y.toFixed(2),
|
|
638
|
-
transform:
|
|
678
|
+
transform: transform
|
|
639
679
|
}, lines.map(function (lineText, lineIndex) {
|
|
640
680
|
return /*#__PURE__*/React.createElement(SLabelLine, {
|
|
641
681
|
x: x,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/RadialTree.tsx"],"names":["React","Component","sstyled","createElement","uniqueIDEnhancement","transition","shade","measureText","assignProps","getOriginChildren","baseAngle","Math","PI","RadialTreeBase","props","handleRadianClick","bind","activeKey","asProps","duration","uid","preferReduceMotion","window","matchMedia","matches","circlesAnimation","selection","selectAll","iconsAnimation","linesAnimation","labelsAnimation","circlesNodes","nodes","iconsNodes","linesNodes","labelsNodes","length","attrs","map","node","cx","baseVal","value","cy","radianIndex","parseInt","dataset","lineNode","from","x1","y1","to","attr","_","index","x","y","width","height","x2","y2","prevProps","$rootProps","data","runAppearAnimation","key","event","newKey","handlers","textSize","widths","label","max","size","center","restRootProps","textWidth","computeTextWidth","radiansCount","onRadianClick","SRadialTree","Element","Children","styles","style","angleOffset","centralMargin","labelMargin","iconColor","capSize","iconSize","defaultActiveKey","RadialTreeRadian","renderRadian","computeRadianPosition","xStart","yStart","xLabelCenter","yLabelCenter","strokeWidth","xEnd","yEnd","color","stroke","radius","isActive","icon","labelAngle","isHorizontal","angle","getRadianKey","baseCapSize","minDemSize","min","topAngle","xCenter","yCenter","start","cos","sin","end","labelCenter","SRadian","children","_child","mergedProps","InteractiveArea","RadialTree","Radian","SRadianList","SInteractiveArea","Line","SLine","Cap","SCap","Icon","SIcon","tag","Label","SLabel","lines","String","split","linesCount","SLabelLine","sstyles","sLabelStyles","cn","toFixed","className","lineText","lineIndex","Title","STitle"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled, CProps, ReturnEl } from '@semcore/core';\n// @ts-ignore\nimport createElement from './createElement';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { transition } from 'd3-transition';\nimport style from './style/radial-tree.shadow.css';\nimport { shade } from '@semcore/utils/lib/color';\nimport { measureText } from './utils';\nimport assignProps from '@semcore/utils/lib/assignProps';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\n\nconst baseAngle = -Math.PI / 2; // The top vertical line\n\ntype RadianData = {\n /**\n * Text label on the end of radian.\n */\n label: string;\n /**\n * Radian key. Radian, which `key` is equal to `activeKey` is displayed as active.\n */\n key: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n};\n\nexport interface IRadialTreeProps {\n /**\n * List of radians. `{ label: string; key: string; capSize?: number; icon?: React.FC; color?: string; iconColor?: string; iconSize?: number; }`\n */\n data: RadianData[];\n /**\n * Angel (in rads) that rotates chart. 0 means that first radian is exactly on top vertical line.\n * @default 0\n */\n angleOffset?: number;\n /**\n * Duration of appear and update animation.\n * @default 300\n */\n duration?: number;\n /**\n * Gap between the chart center and radians start point.\n * @default 50\n */\n centralMargin?: number;\n /**\n * Gap around text label.\n * @default 2\n */\n labelMargin?: number;\n /**\n * Color of all radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n /**\n * Text size in radians' labels. 1.5x is used as default text size of center text.\n * @default 14\n */\n textSize?: number;\n /**\n * Used to define the active radian in controlled way. Active radian is highligted with inreased cap size.\n */\n activeKey?: string | null;\n /**\n * Default value for `activeKey` property.\n */\n defaultActiveKey?: string | null;\n}\n\ntype RootAsProps = IRadialTreeProps & {\n uid: string;\n styles: React.CSSProperties;\n activeKey: string | null;\n Children: React.FC;\n size: [width: number, height: number];\n data: RadianData[];\n duration: number;\n textSize: number;\n capSize: number;\n centralMargin: number;\n angleOffset: number;\n $rootProps: RootAsProps;\n};\n\nclass RadialTreeBase extends Component<RootAsProps> {\n static displayName = 'RadialTree';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps: Partial<IRadialTreeProps> = {\n angleOffset: 0,\n duration: 300,\n centralMargin: 50,\n labelMargin: 2,\n iconColor: '#fff',\n capSize: 8,\n iconSize: 8,\n textSize: 14,\n defaultActiveKey: null,\n };\n\n Element!: React.FC<{ render: string }>;\n\n constructor(props: any) {\n super(props);\n this.handleRadianClick = this.handleRadianClick.bind(this);\n }\n\n uncontrolledProps() {\n return {\n activeKey: null,\n };\n }\n\n runAppearAnimation() {\n const { duration, uid } = this.asProps;\n const preferReduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)')?.matches;\n\n /** using `!(>)` instead of `<=` to get true on NaN and non numbers stuff */\n if (!(duration > 0)) return;\n if (preferReduceMotion) return;\n\n const circlesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-circle]`);\n const iconsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-icon]`);\n const linesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-line]`);\n const labelsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-label]`);\n const circlesNodes = circlesAnimation.nodes() as SVGCircleElement[];\n const iconsNodes = iconsAnimation.nodes() as SVGRectElement[];\n const linesNodes = linesAnimation.nodes() as SVGLineElement[];\n const labelsNodes = linesAnimation.nodes() as SVGTextElement[];\n\n if (circlesNodes.length > 0) {\n const attrs = circlesNodes.map((node) => {\n const cx = node.cx?.baseVal?.value;\n const cy = node.cy?.baseVal?.value;\n const radianIndex = parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n cx: lineNode.x1?.baseVal?.value,\n cy: lineNode.y1?.baseVal?.value,\n },\n to: { cx, cy },\n };\n });\n\n circlesAnimation\n .attr('opacity', 0)\n .attr('cx', (_, index) => attrs[index].from?.cx)\n .attr('cy', (_, index) => attrs[index].from?.cy);\n circlesAnimation\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('cx', (_, index) => attrs[index].to?.cx)\n .attr('cy', (_, index) => attrs[index].to?.cy);\n }\n if (iconsNodes.length > 0) {\n const attrs = iconsNodes.map((node) => {\n const x = node.x?.baseVal?.value;\n const y = node.y?.baseVal?.value;\n const width = node.width?.baseVal?.value;\n const height = node.height?.baseVal?.value;\n const radianIndex = parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n x: lineNode.x1?.baseVal?.value - width / 2,\n y: lineNode.y1?.baseVal?.value - height / 2,\n },\n to: {\n x,\n y,\n },\n };\n });\n\n iconsAnimation\n .attr('opacity', 0)\n .attr('x', (_, index) => attrs[index].from?.x)\n .attr('y', (_, index) => attrs[index].from?.y);\n iconsAnimation\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x', (_, index) => attrs[index].to?.x)\n .attr('y', (_, index) => attrs[index].to?.y);\n }\n if (linesNodes.length > 0) {\n const attrs = linesNodes.map((node) => {\n const x2 = node.x2?.baseVal?.value;\n const y2 = node.y2?.baseVal?.value;\n return {\n from: {\n x2: node.x1?.baseVal?.value,\n y2: node.y1?.baseVal?.value,\n },\n to: {\n x2,\n y2,\n },\n };\n });\n\n linesAnimation\n .attr('opacity', 0)\n .attr('x2', (_, index) => attrs[index].from?.x2)\n .attr('y2', (_, index) => attrs[index].from?.y2);\n linesAnimation\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x2', (_, index) => attrs[index].to?.x2)\n .attr('y2', (_, index) => attrs[index].to?.y2);\n }\n if (labelsNodes.length > 0) {\n labelsAnimation.attr('opacity', 0);\n labelsAnimation.transition().duration(duration).attr('opacity', 1);\n }\n }\n\n componentDidUpdate(prevProps: RootAsProps) {\n if (prevProps.$rootProps.data?.length !== this.asProps.data?.length) {\n this.runAppearAnimation();\n }\n }\n\n componentDidMount() {\n this.runAppearAnimation();\n }\n\n handleRadianClick(key: string) {\n return (event: React.MouseEvent) => {\n const newKey = key !== this.asProps.activeKey ? key : null;\n this.handlers.activeKey(newKey, event);\n };\n }\n\n computeTextWidth() {\n const { data, textSize } = this.asProps;\n const widths = data.map(({ label }) => measureText(label, textSize));\n\n return Math.max(...widths);\n }\n\n getTitleProps() {\n const { uid, size, textSize } = this.asProps;\n\n const [width, height] = size;\n const center = [width / 2, height / 2];\n const [x, y] = center;\n return {\n x,\n y,\n textSize: textSize * 1.5,\n ['data-radial-animation']: `${uid}-label`,\n } as IRadialTreeTitleProps;\n }\n\n getRadianProps() {\n const { data, ...restRootProps } = this.asProps;\n const textWidth = this.computeTextWidth();\n\n return {\n ...restRootProps,\n radiansCount: data.length,\n data,\n textWidth,\n onRadianClick: this.handleRadianClick,\n } as IRadialTreeRadianProps;\n }\n\n render() {\n const SRadialTree = this.Element;\n const { Children } = this.asProps;\n\n return sstyled(this.asProps.styles)(\n <SRadialTree render=\"g\">\n <Children />\n </SRadialTree>,\n );\n }\n}\n\nexport interface IRadialTreeRadianProps extends IRadialTreeProps {\n radiansCount?: number;\n textWidth?: number;\n onRadianClick?: (key: string) => (event: React.MouseEvent) => void;\n}\n\ntype RadianAsProps = RootAsProps & {\n radiansCount: number;\n textWidth: number;\n onRadianClick: (key: string) => (event: React.MouseEvent) => void;\n};\n\nclass RadialTreeRadian extends Component<RadianAsProps> {\n static displayName = 'RadialTreeRadian';\n static style = style;\n\n static defaultProps: Partial<IRadialTreeRadianProps> = {\n centralMargin: 50,\n labelMargin: 2,\n iconColor: '#fff',\n capSize: 16,\n iconSize: 16,\n textSize: 14,\n };\n Element!: React.FC<{ render: string }>;\n\n constructor(props: any) {\n super(props);\n this.renderRadian = this.renderRadian.bind(this);\n }\n\n getInteractiveAreaProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xStart, yStart, xLabelCenter, yLabelCenter, capSize } = this.computeRadianPosition(\n data,\n index,\n );\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xLabelCenter,\n y2: yLabelCenter,\n strokeWidth: capSize * 3,\n } as IRadialTreeRadianInteractiveAreaProps;\n }\n getLineProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xStart, yStart, xEnd, yEnd } = this.computeRadianPosition(data, index);\n const { uid } = this.asProps;\n const color = data.color ?? this.asProps.color;\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xEnd,\n y2: yEnd,\n stroke: color,\n ['data-radial-animation']: `${uid}-line`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianLineProps;\n }\n getCapProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xEnd, yEnd, capSize } = this.computeRadianPosition(data, index);\n const { uid } = this.asProps;\n const color = data.color ?? this.asProps.color;\n\n return {\n x: xEnd,\n y: yEnd,\n radius: capSize,\n color,\n ['data-radial-animation']: `${uid}-cap-circle`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianCapProps;\n }\n getIconProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xEnd, yEnd, isActive } = this.computeRadianPosition(data, index);\n const { uid } = this.asProps;\n const iconColor = data.iconColor ?? this.asProps.iconColor;\n const iconSize = data.iconSize ?? this.asProps.iconSize;\n const icon = data.icon ?? this.asProps.icon;\n\n return {\n x: xEnd - iconSize! / 2,\n y: yEnd - iconSize! / 2,\n iconSize,\n color: iconColor ?? '#fff',\n ['data-radial-animation']: `${uid}-cap-icon`,\n ['data-radian-index']: index,\n icon,\n isActive,\n } as IRadialTreeRadianIconProps;\n }\n getLabelProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xLabelCenter, yLabelCenter, labelAngle, isHorizontal } = this.computeRadianPosition(\n data,\n index,\n );\n const { uid, textSize } = this.asProps;\n const { label } = data;\n const color = data.color ?? this.asProps.color;\n\n return {\n x: xLabelCenter,\n y: yLabelCenter,\n angle: labelAngle,\n ['data-radial-animation']: `${uid}-label`,\n ['data-radian-index']: index,\n label,\n color,\n isHorizontal,\n textSize,\n } as IRadialTreeRadianLabelProps;\n }\n\n getRadianKey(data: RadianData, index: number) {\n return data.key ?? `radian-${index}`;\n }\n\n computeRadianPosition(data: RadianData, index: number) {\n const { centralMargin, angleOffset, activeKey, size, radiansCount, textWidth } = this.asProps;\n const [width, height] = size;\n const key = this.getRadianKey(data, index);\n const isActive = activeKey === key;\n const baseCapSize = data.capSize ?? this.asProps.capSize;\n const capSize = baseCapSize * (isActive ? 1 : 0.5);\n\n const minDemSize = Math.min(width, height) / 2;\n const length = Math.max(minDemSize - textWidth - baseCapSize - centralMargin, 10);\n\n const angle = baseAngle + angleOffset + (index / radiansCount) * (Math.PI * 2);\n const isHorizontal =\n (angle - baseAngle > (1 / 6) * Math.PI && angle - baseAngle < (5 / 6) * Math.PI) ||\n (angle - baseAngle > (7 / 6) * Math.PI && angle - baseAngle < (11 / 6) * Math.PI);\n const topAngle = -Math.PI / 2;\n const labelAngle = ((angle - topAngle) % Math.PI) + topAngle;\n\n const center = [width / 2, height / 2];\n const [xCenter, yCenter] = center;\n const start = [\n xCenter + Math.cos(angle) * centralMargin,\n yCenter + Math.sin(angle) * centralMargin,\n ];\n const end = [\n xCenter + Math.cos(angle) * (centralMargin + length),\n yCenter + Math.sin(angle) * (centralMargin + length),\n ];\n const [xStart, yStart] = start;\n const [xEnd, yEnd] = end;\n\n const labelCenter = [\n xCenter + Math.cos(angle) * (centralMargin + length + baseCapSize + textWidth / 2),\n yCenter + Math.sin(angle) * (centralMargin + length + baseCapSize + textWidth / 2),\n ];\n const [xLabelCenter, yLabelCenter] = labelCenter;\n\n return {\n xStart,\n yStart,\n xEnd,\n yEnd,\n xLabelCenter,\n yLabelCenter,\n labelAngle,\n isHorizontal,\n capSize,\n isActive,\n };\n }\n\n renderRadian(data: RadianData, index: number) {\n const { styles, Children, onRadianClick } = this.asProps;\n const key = this.getRadianKey(data, index);\n const SRadian = 'g';\n\n let children = getOriginChildren(Children);\n\n if (typeof children === 'function') {\n const _child = this.asProps.children;\n const mergedProps = assignProps(children(this.asProps), this.asProps);\n children = mergedProps.children;\n mergedProps.children = _child;\n }\n\n // hidden from publicly typed export\n const InteractiveArea = (RadialTree.Radian as any).InteractiveArea;\n\n return sstyled(styles)(\n <SRadian key={key} onClick={onRadianClick(key)}>\n <InteractiveArea />\n {children}\n </SRadian>,\n );\n }\n\n render() {\n const { data } = this.asProps;\n const SRadianList = 'g';\n\n return sstyled(this.asProps.styles)(\n <SRadianList>{data.map((data, index) => this.renderRadian(data, index))}</SRadianList>,\n );\n }\n}\n\nexport interface IRadialTreeRadianInteractiveAreaProps {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n strokeWidth?: number;\n}\ntype RadialTreeRadianInteractiveAreaAsProps = IRadialTreeRadianInteractiveAreaProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst InteractiveArea: React.FC<RadialTreeRadianInteractiveAreaAsProps> = ({\n Element: SInteractiveArea,\n styles,\n}) => {\n return sstyled(styles)(\n <SInteractiveArea stroke=\"transparent\" render=\"line\" />,\n ) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianLineProps {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n stroke?: string;\n ['data-radial-animation']?: `${string}-line`;\n ['data-radian-index']?: number;\n}\ntype RadialTreeRadianLineAsProps = IRadialTreeRadianLineProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst Line: React.FC<RadialTreeRadianLineAsProps> = ({ Element: SLine, styles, stroke }) => {\n return sstyled(styles)(<SLine render=\"line\" stroke={stroke} />) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianCapProps {\n x?: number;\n y?: number;\n radius?: number;\n color?: string;\n ['data-radial-animation']?: `${string}-cap-circle`;\n ['data-radian-index']?: number;\n}\ntype RadialTreeRadianCapAsProps = IRadialTreeRadianCapProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst Cap: React.FC<RadialTreeRadianCapAsProps> = ({\n Element: SCap,\n styles,\n x,\n y,\n radius,\n color,\n}) => {\n return sstyled(styles)(\n <SCap render=\"circle\" cx={x} cy={y} r={radius} fill={color} />,\n ) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianIconProps {\n x?: number;\n y?: number;\n iconSize?: number;\n color?: string;\n ['data-radial-animation']?: `${string}-cap-icon`;\n ['data-radian-index']?: number;\n tag?: React.FC;\n isActive?: boolean;\n}\ntype RadialTreeRadianIconAsProps = IRadialTreeRadianIconProps & {\n Element: React.FC<{ render: string | React.FC } & React.SVGProps<any>>;\n x: number;\n y: number;\n iconSize: number;\n styles: React.CSSProperties;\n};\nconst Icon: React.FC<RadialTreeRadianIconAsProps> = ({\n Element: SIcon,\n styles,\n isActive,\n tag,\n x,\n y,\n iconSize,\n}) => {\n if (!(isActive && tag)) return null;\n const width = iconSize;\n const height = iconSize;\n return sstyled(styles)(\n <SIcon x={x} y={y} width={width} height={height} render={tag} />,\n ) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianLabelProps {\n x?: number;\n y?: number;\n color?: string;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n ['data-radian-index']?: number;\n label?: string;\n isHorizontal?: boolean;\n angle?: number;\n}\ntype RadialTreeRadianLabelAsProps = IRadialTreeRadianLabelProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n styles: React.CSSProperties;\n x: number;\n y: number;\n angle: number;\n textSize: number;\n};\nconst Label: React.FC<RadialTreeRadianLabelAsProps> = ({\n Element: SLabel,\n Children,\n styles,\n label,\n color,\n isHorizontal,\n x,\n y,\n textSize,\n angle,\n}) => {\n const lines = String(label).split('\\n');\n const linesCount = lines.length;\n const SLabelLine = 'tspan';\n\n const sstyles = sstyled(styles);\n const sLabelStyles = sstyles.cn('SLabel', {\n color,\n 'color-hovered': shade(color, -0.12),\n 'text-cursor': isHorizontal ? 'text' : 'vertical-text',\n 'transform-origin': `${x.toFixed(2)}px ${y.toFixed(2)}px`,\n });\n\n return (\n <SLabel\n render=\"text\"\n textAnchor=\"middle\"\n dominantBaseline=\"central\"\n className={sLabelStyles.className}\n style={sLabelStyles.style}\n x={x.toFixed(2)}\n y={y.toFixed(2)}\n transform={`rotate(${((angle / Math.PI) * 180).toFixed(2)})`}\n >\n {lines.map((lineText, lineIndex) => (\n <SLabelLine\n x={x}\n y={y + (lineIndex - (linesCount - 1) / 2) * textSize}\n key={`#${lineIndex}-${lineText}`}\n >\n {lineText}\n </SLabelLine>\n ))}\n <Children />\n </SLabel>\n ) as React.ReactElement;\n};\n\nconst Radian = createElement(RadialTreeRadian, {\n InteractiveArea,\n Line,\n Cap,\n Icon,\n Label,\n});\n\nexport interface IRadialTreeTitleProps {\n x?: number;\n y?: number;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n color?: string;\n}\ntype RadialTreeTitleAsProps = IRadialTreeTitleProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n styles: React.CSSProperties;\n};\nconst Title: React.FC<RadialTreeTitleAsProps> = ({\n Element: STitle,\n Children,\n styles,\n textSize,\n color,\n x,\n y,\n}) => {\n return sstyled(styles)(\n <STitle\n render=\"text\"\n textAnchor=\"middle\"\n dominantBaseline=\"central\"\n fontSize={textSize}\n fill={color}\n x={x}\n y={y}\n >\n <Children />\n </STitle>,\n ) as React.ReactElement;\n};\n\nconst RadialTree = createElement(RadialTreeBase, { Title, Radian }) as (<T>(\n props: CProps<IRadialTreeProps & T>,\n) => ReturnEl) & {\n Title: <T>(props: CProps<IRadialTreeTitleProps & T>) => ReturnEl;\n Radian: (<T>(props: CProps<IRadialTreeRadianProps & T>) => ReturnEl) & {\n Line: <T>(props: CProps<IRadialTreeRadianLineProps & T>) => ReturnEl;\n Cap: <T>(props: CProps<IRadialTreeRadianCapProps & T>) => ReturnEl;\n Icon: <T>(props: CProps<IRadialTreeRadianIconProps & T>) => ReturnEl;\n Label: <T>(props: CProps<IRadialTreeRadianLabelProps & T>) => ReturnEl;\n };\n};\n\nexport default RadialTree;\n"],"file":"RadialTree.js"}
|
|
1
|
+
{"version":3,"file":"RadialTree.js","names":["React","Component","sstyled","createElement","uniqueIDEnhancement","transition","shade","measureText","assignProps","getOriginChildren","baseAngle","Math","PI","RadialTreeBase","props","handleRadianClick","bind","activeKey","asProps","duration","uid","preferReduceMotion","window","matchMedia","matches","circlesAnimation","selection","selectAll","iconsAnimation","linesAnimation","labelsAnimation","circlesNodes","nodes","iconsNodes","linesNodes","labelsNodes","length","attrs","map","node","cx","baseVal","value","cy","radianIndex","parseInt","dataset","lineNode","from","x1","y1","to","attr","_","index","x","y","width","height","x2","y2","prevProps","$rootProps","data","runAppearAnimation","key","event","newKey","handlers","textSize","widths","label","max","size","center","restRootProps","textWidth","computeTextWidth","radiansCount","onRadianClick","SRadialTree","Element","Children","styles","style","angleOffset","centralMargin","labelMargin","iconColor","capSize","iconSize","defaultActiveKey","RadialTreeRadian","renderRadian","computeRadianPosition","xStart","yStart","xLabelCenter","yLabelCenter","strokeWidth","xEnd","yEnd","color","stroke","radius","isActive","icon","labelAngle","isHorizontal","angle","getRadianKey","baseCapSize","minDemSize","min","topAngle","xCenter","yCenter","start","cos","sin","end","labelCenter","SRadian","children","_child","mergedProps","InteractiveArea","RadialTree","Radian","SRadianList","SInteractiveArea","Line","SLine","Cap","SCap","Icon","SIcon","tag","Label","SLabel","lines","String","split","linesCount","SLabelLine","angleDegs","toFixed","transformOrigin","transform","join","sstyles","sLabelStyles","cn","className","lineText","lineIndex","Title","STitle"],"sources":["../../src/RadialTree.tsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, CProps, ReturnEl } from '@semcore/core';\n// @ts-ignore\nimport createElement from './createElement';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { transition } from 'd3-transition';\nimport style from './style/radial-tree.shadow.css';\nimport { shade } from '@semcore/utils/lib/color';\nimport { measureText } from './utils';\nimport assignProps from '@semcore/utils/lib/assignProps';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\n\nconst baseAngle = -Math.PI / 2; // The top vertical line\n\ntype RadianData = {\n /**\n * Text label on the end of radian.\n */\n label: string;\n /**\n * Radian key. Radian, which `key` is equal to `activeKey` is displayed as active.\n */\n key: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n};\n\nexport interface IRadialTreeProps {\n /**\n * List of radians. `{ label: string; key: string; capSize?: number; icon?: React.FC; color?: string; iconColor?: string; iconSize?: number; }`\n */\n data: RadianData[];\n /**\n * Angel (in rads) that rotates chart. 0 means that first radian is exactly on top vertical line.\n * @default 0\n */\n angleOffset?: number;\n /**\n * Duration of appear and update animation.\n * @default 300\n */\n duration?: number;\n /**\n * Gap between the chart center and radians start point.\n * @default 50\n */\n centralMargin?: number;\n /**\n * Gap around text label.\n * @default 2\n */\n labelMargin?: number;\n /**\n * Color of all radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n /**\n * Text size in radians' labels. 1.5x is used as default text size of center text.\n * @default 14\n */\n textSize?: number;\n /**\n * Used to define the active radian in controlled way. Active radian is highligted with inreased cap size.\n */\n activeKey?: string | null;\n /**\n * Default value for `activeKey` property.\n */\n defaultActiveKey?: string | null;\n}\n\ntype RootAsProps = IRadialTreeProps & {\n uid: string;\n styles: React.CSSProperties;\n activeKey: string | null;\n Children: React.FC;\n size: [width: number, height: number];\n data: RadianData[];\n duration: number;\n textSize: number;\n capSize: number;\n centralMargin: number;\n labelMargin: number;\n angleOffset: number;\n $rootProps: RootAsProps;\n};\n\nclass RadialTreeBase extends Component<RootAsProps> {\n static displayName = 'RadialTree';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps: Partial<IRadialTreeProps> = {\n angleOffset: 0,\n duration: 300,\n centralMargin: 50,\n labelMargin: 5,\n iconColor: '#fff',\n capSize: 8,\n iconSize: 8,\n textSize: 14,\n defaultActiveKey: null,\n };\n\n Element!: React.FC<{ render: string }>;\n\n constructor(props: any) {\n super(props);\n this.handleRadianClick = this.handleRadianClick.bind(this);\n }\n\n uncontrolledProps() {\n return {\n activeKey: null,\n };\n }\n\n runAppearAnimation() {\n const { duration, uid } = this.asProps;\n const preferReduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)')?.matches;\n\n /** using `!(>)` instead of `<=` to get true on NaN and non numbers stuff */\n if (!(duration > 0)) return;\n if (preferReduceMotion) return;\n\n const circlesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-circle]`);\n const iconsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-icon]`);\n const linesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-line]`);\n const labelsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-label]`);\n const circlesNodes = circlesAnimation.nodes() as SVGCircleElement[];\n const iconsNodes = iconsAnimation.nodes() as SVGRectElement[];\n const linesNodes = linesAnimation.nodes() as SVGLineElement[];\n const labelsNodes = linesAnimation.nodes() as SVGTextElement[];\n\n if (circlesNodes.length > 0) {\n const attrs = circlesNodes.map((node) => {\n const cx = node.cx?.baseVal?.value;\n const cy = node.cy?.baseVal?.value;\n const radianIndex = parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n cx: lineNode.x1?.baseVal?.value,\n cy: lineNode.y1?.baseVal?.value,\n },\n to: { cx, cy },\n };\n });\n\n circlesAnimation\n .attr('opacity', 0)\n .attr('cx', (_, index) => attrs[index].from?.cx)\n .attr('cy', (_, index) => attrs[index].from?.cy);\n circlesAnimation\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('cx', (_, index) => attrs[index].to?.cx)\n .attr('cy', (_, index) => attrs[index].to?.cy);\n }\n if (iconsNodes.length > 0) {\n const attrs = iconsNodes.map((node) => {\n const x = node.x?.baseVal?.value;\n const y = node.y?.baseVal?.value;\n const width = node.width?.baseVal?.value;\n const height = node.height?.baseVal?.value;\n const radianIndex = parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n x: lineNode.x1?.baseVal?.value - width / 2,\n y: lineNode.y1?.baseVal?.value - height / 2,\n },\n to: {\n x,\n y,\n },\n };\n });\n\n iconsAnimation\n .attr('opacity', 0)\n .attr('x', (_, index) => attrs[index].from?.x)\n .attr('y', (_, index) => attrs[index].from?.y);\n iconsAnimation\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x', (_, index) => attrs[index].to?.x)\n .attr('y', (_, index) => attrs[index].to?.y);\n }\n if (linesNodes.length > 0) {\n const attrs = linesNodes.map((node) => {\n const x2 = node.x2?.baseVal?.value;\n const y2 = node.y2?.baseVal?.value;\n return {\n from: {\n x2: node.x1?.baseVal?.value,\n y2: node.y1?.baseVal?.value,\n },\n to: {\n x2,\n y2,\n },\n };\n });\n\n linesAnimation\n .attr('opacity', 0)\n .attr('x2', (_, index) => attrs[index].from?.x2)\n .attr('y2', (_, index) => attrs[index].from?.y2);\n linesAnimation\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x2', (_, index) => attrs[index].to?.x2)\n .attr('y2', (_, index) => attrs[index].to?.y2);\n }\n if (labelsNodes.length > 0) {\n labelsAnimation.attr('opacity', 0);\n labelsAnimation.transition().duration(duration).attr('opacity', 1);\n }\n }\n\n componentDidUpdate(prevProps: RootAsProps) {\n if (prevProps.$rootProps.data?.length !== this.asProps.data?.length) {\n this.runAppearAnimation();\n }\n }\n\n componentDidMount() {\n this.runAppearAnimation();\n }\n\n handleRadianClick(key: string) {\n return (event: React.MouseEvent) => {\n const newKey = key !== this.asProps.activeKey ? key : null;\n this.handlers.activeKey(newKey, event);\n };\n }\n\n computeTextWidth() {\n const { data, textSize } = this.asProps;\n const widths = data.map(({ label }) => measureText(label, textSize));\n\n return Math.max(...widths);\n }\n\n getTitleProps() {\n const { uid, size, textSize } = this.asProps;\n\n const [width, height] = size;\n const center = [width / 2, height / 2];\n const [x, y] = center;\n return {\n x,\n y,\n textSize: textSize * 1.5,\n ['data-radial-animation']: `${uid}-label`,\n } as IRadialTreeTitleProps;\n }\n\n getRadianProps() {\n const { data, ...restRootProps } = this.asProps;\n const textWidth = this.computeTextWidth();\n\n return {\n ...restRootProps,\n radiansCount: data.length,\n data,\n textWidth,\n onRadianClick: this.handleRadianClick,\n } as IRadialTreeRadianProps;\n }\n\n render() {\n const SRadialTree = this.Element;\n const { Children } = this.asProps;\n\n return sstyled(this.asProps.styles)(\n <SRadialTree render=\"g\">\n <Children />\n </SRadialTree>,\n );\n }\n}\n\nexport interface IRadialTreeRadianProps extends IRadialTreeProps {\n radiansCount?: number;\n textWidth?: number;\n onRadianClick?: (key: string) => (event: React.MouseEvent) => void;\n}\n\ntype RadianAsProps = RootAsProps & {\n radiansCount: number;\n textWidth: number;\n onRadianClick: (key: string) => (event: React.MouseEvent) => void;\n};\n\nclass RadialTreeRadian extends Component<RadianAsProps> {\n static displayName = 'RadialTreeRadian';\n static style = style;\n\n static defaultProps: Partial<IRadialTreeRadianProps> = {\n centralMargin: 50,\n labelMargin: 2,\n iconColor: '#fff',\n capSize: 16,\n iconSize: 16,\n textSize: 14,\n };\n Element!: React.FC<{ render: string }>;\n\n constructor(props: any) {\n super(props);\n this.renderRadian = this.renderRadian.bind(this);\n }\n\n getInteractiveAreaProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xStart, yStart, xLabelCenter, yLabelCenter, capSize } = this.computeRadianPosition(\n data,\n index,\n );\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xLabelCenter,\n y2: yLabelCenter,\n strokeWidth: capSize * 3,\n } as IRadialTreeRadianInteractiveAreaProps;\n }\n getLineProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xStart, yStart, xEnd, yEnd } = this.computeRadianPosition(data, index);\n const { uid } = this.asProps;\n const color = data.color ?? this.asProps.color;\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xEnd,\n y2: yEnd,\n stroke: color,\n ['data-radial-animation']: `${uid}-line`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianLineProps;\n }\n getCapProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xEnd, yEnd, capSize } = this.computeRadianPosition(data, index);\n const { uid } = this.asProps;\n const color = data.color ?? this.asProps.color;\n\n return {\n x: xEnd,\n y: yEnd,\n radius: capSize,\n color,\n ['data-radial-animation']: `${uid}-cap-circle`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianCapProps;\n }\n getIconProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xEnd, yEnd, isActive } = this.computeRadianPosition(data, index);\n const { uid } = this.asProps;\n const iconColor = data.iconColor ?? this.asProps.iconColor;\n const iconSize = data.iconSize ?? this.asProps.iconSize;\n const icon = data.icon ?? this.asProps.icon;\n\n return {\n x: xEnd - iconSize! / 2,\n y: yEnd - iconSize! / 2,\n iconSize,\n color: iconColor ?? '#fff',\n ['data-radial-animation']: `${uid}-cap-icon`,\n ['data-radian-index']: index,\n icon,\n isActive,\n } as IRadialTreeRadianIconProps;\n }\n getLabelProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data![index];\n const { xLabelCenter, yLabelCenter, labelAngle, isHorizontal } = this.computeRadianPosition(\n data,\n index,\n );\n const { uid, textSize } = this.asProps;\n const { label } = data;\n const color = data.color ?? this.asProps.color;\n\n return {\n x: xLabelCenter,\n y: yLabelCenter,\n angle: labelAngle,\n ['data-radial-animation']: `${uid}-label`,\n ['data-radian-index']: index,\n label,\n color,\n isHorizontal,\n textSize,\n } as IRadialTreeRadianLabelProps;\n }\n\n getRadianKey(data: RadianData, index: number) {\n return data.key ?? `radian-${index}`;\n }\n\n computeRadianPosition(data: RadianData, index: number) {\n const { centralMargin, labelMargin, angleOffset, activeKey, size, radiansCount, textWidth } =\n this.asProps;\n const [width, height] = size;\n const key = this.getRadianKey(data, index);\n const isActive = activeKey === key;\n const baseCapSize = data.capSize ?? this.asProps.capSize;\n const capSize = baseCapSize * (isActive ? 1 : 0.5);\n\n const minDemSize = Math.min(width, height) / 2;\n const length = Math.max(\n minDemSize - textWidth - baseCapSize - centralMargin - labelMargin * 2,\n 10,\n );\n\n const angle = baseAngle + angleOffset + (index / radiansCount) * (Math.PI * 2);\n const isHorizontal =\n (angle - baseAngle > (1 / 6) * Math.PI && angle - baseAngle < (5 / 6) * Math.PI) ||\n (angle - baseAngle > (7 / 6) * Math.PI && angle - baseAngle < (11 / 6) * Math.PI);\n const topAngle = -Math.PI / 2;\n const labelAngle = ((angle - topAngle) % Math.PI) + topAngle;\n\n const center = [width / 2, height / 2];\n const [xCenter, yCenter] = center;\n const start = [\n xCenter + Math.cos(angle) * centralMargin,\n yCenter + Math.sin(angle) * centralMargin,\n ];\n const end = [\n xCenter + Math.cos(angle) * (centralMargin + length),\n yCenter + Math.sin(angle) * (centralMargin + length),\n ];\n const [xStart, yStart] = start;\n const [xEnd, yEnd] = end;\n\n const labelCenter = [\n xCenter +\n Math.cos(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin),\n yCenter +\n Math.sin(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin),\n ];\n const [xLabelCenter, yLabelCenter] = labelCenter;\n\n return {\n xStart,\n yStart,\n xEnd,\n yEnd,\n xLabelCenter,\n yLabelCenter,\n labelAngle,\n isHorizontal,\n capSize,\n isActive,\n };\n }\n\n renderRadian(data: RadianData, index: number) {\n const { styles, Children, onRadianClick } = this.asProps;\n const key = this.getRadianKey(data, index);\n const SRadian = 'g';\n\n let children = getOriginChildren(Children);\n\n if (typeof children === 'function') {\n const _child = this.asProps.children;\n const mergedProps = assignProps(children(this.asProps), this.asProps);\n children = mergedProps.children;\n mergedProps.children = _child;\n }\n\n // hidden from publicly typed export\n const InteractiveArea = (RadialTree.Radian as any).InteractiveArea;\n\n return sstyled(styles)(\n <SRadian key={key} onClick={onRadianClick(key)}>\n <InteractiveArea />\n {children}\n </SRadian>,\n );\n }\n\n render() {\n const { data } = this.asProps;\n const SRadianList = 'g';\n\n return sstyled(this.asProps.styles)(\n <SRadianList>{data.map((data, index) => this.renderRadian(data, index))}</SRadianList>,\n );\n }\n}\n\nexport interface IRadialTreeRadianInteractiveAreaProps {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n strokeWidth?: number;\n}\ntype RadialTreeRadianInteractiveAreaAsProps = IRadialTreeRadianInteractiveAreaProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst InteractiveArea: React.FC<RadialTreeRadianInteractiveAreaAsProps> = ({\n Element: SInteractiveArea,\n styles,\n}) => {\n return sstyled(styles)(\n <SInteractiveArea stroke=\"transparent\" render=\"line\" />,\n ) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianLineProps {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n stroke?: string;\n ['data-radial-animation']?: `${string}-line`;\n ['data-radian-index']?: number;\n}\ntype RadialTreeRadianLineAsProps = IRadialTreeRadianLineProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst Line: React.FC<RadialTreeRadianLineAsProps> = ({ Element: SLine, styles, stroke }) => {\n return sstyled(styles)(<SLine render=\"line\" stroke={stroke} />) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianCapProps {\n x?: number;\n y?: number;\n radius?: number;\n color?: string;\n ['data-radial-animation']?: `${string}-cap-circle`;\n ['data-radian-index']?: number;\n}\ntype RadialTreeRadianCapAsProps = IRadialTreeRadianCapProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst Cap: React.FC<RadialTreeRadianCapAsProps> = ({\n Element: SCap,\n styles,\n x,\n y,\n radius,\n color,\n}) => {\n return sstyled(styles)(\n <SCap render=\"circle\" cx={x} cy={y} r={radius} fill={color} />,\n ) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianIconProps {\n x?: number;\n y?: number;\n iconSize?: number;\n color?: string;\n ['data-radial-animation']?: `${string}-cap-icon`;\n ['data-radian-index']?: number;\n tag?: React.FC;\n isActive?: boolean;\n}\ntype RadialTreeRadianIconAsProps = IRadialTreeRadianIconProps & {\n Element: React.FC<{ render: string | React.FC } & React.SVGProps<any>>;\n x: number;\n y: number;\n iconSize: number;\n styles: React.CSSProperties;\n};\nconst Icon: React.FC<RadialTreeRadianIconAsProps> = ({\n Element: SIcon,\n styles,\n isActive,\n tag,\n x,\n y,\n iconSize,\n}) => {\n if (!(isActive && tag)) return null;\n const width = iconSize;\n const height = iconSize;\n return sstyled(styles)(\n <SIcon x={x} y={y} width={width} height={height} render={tag} />,\n ) as React.ReactElement;\n};\n\nexport interface IRadialTreeRadianLabelProps {\n x?: number;\n y?: number;\n color?: string;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n ['data-radian-index']?: number;\n label?: string;\n isHorizontal?: boolean;\n angle?: number;\n}\ntype RadialTreeRadianLabelAsProps = IRadialTreeRadianLabelProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n styles: React.CSSProperties;\n x: number;\n y: number;\n angle: number;\n textSize: number;\n};\nconst Label: React.FC<RadialTreeRadianLabelAsProps> = ({\n Element: SLabel,\n Children,\n styles,\n label,\n color,\n isHorizontal,\n x,\n y,\n textSize,\n angle,\n}) => {\n const lines = String(label).split('\\n');\n const linesCount = lines.length;\n const SLabelLine = 'tspan';\n\n const angleDegs = ((angle / Math.PI) * 180).toFixed(2);\n const transformOrigin = [x.toFixed(2), y.toFixed(2)];\n const transform = `rotate(${[angleDegs, ...transformOrigin].join(', ')})`;\n\n const sstyles = sstyled(styles);\n const sLabelStyles = sstyles.cn('SLabel', {\n color,\n 'color-hovered': shade(color, -0.12),\n 'text-cursor': isHorizontal ? 'text' : 'vertical-text',\n });\n\n return (\n <SLabel\n render=\"text\"\n textAnchor=\"middle\"\n dominantBaseline=\"central\"\n className={sLabelStyles.className}\n style={sLabelStyles.style}\n x={x.toFixed(2)}\n y={y.toFixed(2)}\n transform={transform}\n >\n {lines.map((lineText, lineIndex) => (\n <SLabelLine\n x={x}\n y={y + (lineIndex - (linesCount - 1) / 2) * textSize}\n key={`#${lineIndex}-${lineText}`}\n >\n {lineText}\n </SLabelLine>\n ))}\n <Children />\n </SLabel>\n ) as React.ReactElement;\n};\n\nconst Radian = createElement(RadialTreeRadian, {\n InteractiveArea,\n Line,\n Cap,\n Icon,\n Label,\n});\n\nexport interface IRadialTreeTitleProps {\n x?: number;\n y?: number;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n color?: string;\n}\ntype RadialTreeTitleAsProps = IRadialTreeTitleProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n styles: React.CSSProperties;\n};\nconst Title: React.FC<RadialTreeTitleAsProps> = ({\n Element: STitle,\n Children,\n styles,\n textSize,\n color,\n x,\n y,\n}) => {\n return sstyled(styles)(\n <STitle\n render=\"text\"\n textAnchor=\"middle\"\n dominantBaseline=\"central\"\n fontSize={textSize}\n fill={color}\n x={x}\n y={y}\n >\n <Children />\n </STitle>,\n ) as React.ReactElement;\n};\n\nconst RadialTree = createElement(RadialTreeBase, { Title, Radian }) as (<T>(\n props: CProps<IRadialTreeProps & T>,\n) => ReturnEl) & {\n Title: <T>(props: CProps<IRadialTreeTitleProps & T>) => ReturnEl;\n Radian: (<T>(props: CProps<IRadialTreeRadianProps & T>) => ReturnEl) & {\n Line: <T>(props: CProps<IRadialTreeRadianLineProps & T>) => ReturnEl;\n Cap: <T>(props: CProps<IRadialTreeRadianCapProps & T>) => ReturnEl;\n Icon: <T>(props: CProps<IRadialTreeRadianIconProps & T>) => ReturnEl;\n Label: <T>(props: CProps<IRadialTreeRadianLabelProps & T>) => ReturnEl;\n };\n};\n\nexport default RadialTree;\n"],"mappings":"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"}
|
package/lib/es6/ReferenceLine.js
CHANGED
|
@@ -25,19 +25,19 @@ var style = (
|
|
|
25
25
|
/*__reshadow_css_start__*/
|
|
26
26
|
_sstyled.insert(
|
|
27
27
|
/*__inner_css_start__*/
|
|
28
|
-
".
|
|
28
|
+
".___SReferenceLine_w9yg6_gg_{fill:none;stroke:#a9abb6}.___STitle_w9yg6_gg_{font-size:12px;fill:#6c6e79;transform-origin:var(--transform-origin_w9yg6)}.___STitle_w9yg6_gg_._position_top_w9yg6_gg_{text-anchor:middle}.___STitle_w9yg6_gg_._position_bottom_w9yg6_gg_{text-anchor:middle;alignment-baseline:hanging}.___STitle_w9yg6_gg_._position_right_w9yg6_gg_{transform:rotate(-90deg);alignment-baseline:middle;text-anchor:middle}.___STitle_w9yg6_gg_._position_left_w9yg6_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___SBackground_w9yg6_gg_{fill:rgba(196,199,207,.2)}"
|
|
29
29
|
/*__inner_css_end__*/
|
|
30
|
-
, "
|
|
30
|
+
, "w9yg6_gg_")
|
|
31
31
|
/*__reshadow_css_end__*/
|
|
32
32
|
, {
|
|
33
|
-
"__SReferenceLine": "
|
|
34
|
-
"__STitle": "
|
|
35
|
-
"--transform-origin": "--transform-
|
|
36
|
-
"_position_top": "
|
|
37
|
-
"_position_bottom": "
|
|
38
|
-
"_position_right": "
|
|
39
|
-
"_position_left": "
|
|
40
|
-
"__SBackground": "
|
|
33
|
+
"__SReferenceLine": "___SReferenceLine_w9yg6_gg_",
|
|
34
|
+
"__STitle": "___STitle_w9yg6_gg_",
|
|
35
|
+
"--transform-origin": "--transform-origin_w9yg6",
|
|
36
|
+
"_position_top": "_position_top_w9yg6_gg_",
|
|
37
|
+
"_position_bottom": "_position_bottom_w9yg6_gg_",
|
|
38
|
+
"_position_right": "_position_right_w9yg6_gg_",
|
|
39
|
+
"_position_left": "_position_left_w9yg6_gg_",
|
|
40
|
+
"__SBackground": "___SBackground_w9yg6_gg_"
|
|
41
41
|
});
|
|
42
42
|
var MAP_ORIENTATION = {
|
|
43
43
|
left: 'vertical',
|