@semcore/d3-chart 1.5.2 → 1.5.6
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 +24 -0
- package/lib/cjs/Area.js +15 -13
- package/lib/cjs/Area.js.map +1 -1
- package/lib/cjs/Axis.js +12 -12
- package/lib/cjs/Bar.js +21 -17
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Donut.js +77 -64
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +8 -7
- package/lib/cjs/Dots.js.map +1 -1
- package/lib/cjs/GroupBar.js +8 -7
- package/lib/cjs/GroupBar.js.map +1 -1
- package/lib/cjs/HorizontalBar.js +21 -17
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Hover.js +3 -3
- package/lib/cjs/Line.js +14 -12
- package/lib/cjs/Line.js.map +1 -1
- package/lib/cjs/StackBar.js +39 -14
- package/lib/cjs/StackBar.js.map +1 -1
- package/lib/cjs/StackedArea.js +11 -9
- package/lib/cjs/StackedArea.js.map +1 -1
- package/lib/cjs/Tooltip.js +11 -11
- package/lib/cjs/Tooltip.js.map +1 -1
- package/lib/cjs/Venn.js +8 -8
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/color.js +32 -30
- package/lib/cjs/color.js.map +1 -1
- package/lib/cjs/style/area.shadow.css +12 -2
- package/lib/cjs/style/bar.shadow.css +7 -2
- package/lib/cjs/style/donut.shadow.css +15 -0
- package/lib/cjs/style/dot.shadow.css +6 -1
- package/lib/cjs/style/line.shadow.css +6 -1
- package/lib/cjs/style/tooltip.shadow.css +5 -0
- package/lib/cjs/style/var.css +32 -0
- package/lib/cjs/style/venn.shadow.css +7 -1
- package/lib/es6/Area.js +15 -13
- package/lib/es6/Area.js.map +1 -1
- package/lib/es6/Axis.js +12 -12
- package/lib/es6/Bar.js +21 -17
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Donut.js +77 -64
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +8 -7
- package/lib/es6/Dots.js.map +1 -1
- package/lib/es6/GroupBar.js +8 -7
- package/lib/es6/GroupBar.js.map +1 -1
- package/lib/es6/HorizontalBar.js +21 -17
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Hover.js +3 -3
- package/lib/es6/Line.js +14 -12
- package/lib/es6/Line.js.map +1 -1
- package/lib/es6/StackBar.js +39 -14
- package/lib/es6/StackBar.js.map +1 -1
- package/lib/es6/StackedArea.js +11 -9
- package/lib/es6/StackedArea.js.map +1 -1
- package/lib/es6/Tooltip.js +10 -10
- package/lib/es6/Tooltip.js.map +1 -1
- package/lib/es6/Venn.js +8 -8
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/color.js +33 -31
- package/lib/es6/color.js.map +1 -1
- package/lib/es6/style/area.shadow.css +12 -2
- package/lib/es6/style/bar.shadow.css +7 -2
- package/lib/es6/style/donut.shadow.css +15 -0
- package/lib/es6/style/dot.shadow.css +6 -1
- package/lib/es6/style/line.shadow.css +6 -1
- package/lib/es6/style/tooltip.shadow.css +5 -0
- package/lib/es6/style/var.css +32 -0
- package/lib/es6/style/venn.shadow.css +7 -1
- package/lib/types/Bar.d.ts +1 -1
- package/lib/types/HorizontalBar.d.ts +1 -1
- package/package.json +1 -1
- package/src/Area.js +2 -3
- package/src/Bar.js +13 -10
- package/src/Donut.js +8 -7
- package/src/GroupBar.js +6 -2
- package/src/HorizontalBar.js +14 -10
- package/src/Line.js +2 -3
- package/src/StackBar.js +24 -7
- package/src/StackedArea.js +3 -2
- package/src/Tooltip.js +2 -2
- package/src/Venn.js +1 -1
- package/src/color.js +6 -32
- package/src/style/area.shadow.css +12 -2
- package/src/style/bar.shadow.css +7 -2
- package/src/style/donut.shadow.css +15 -0
- package/src/style/dot.shadow.css +6 -1
- package/src/style/line.shadow.css +6 -1
- package/src/style/tooltip.shadow.css +5 -0
- package/src/style/var.css +32 -0
- package/src/style/venn.shadow.css +7 -1
- package/src/types/Bar.d.ts +1 -1
- package/src/types/HorizontalBar.d.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
+
## [1.5.6] - 2021-12-08
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Moved chart colors vars to style
|
|
10
|
+
|
|
11
|
+
## [1.5.5] - 2021-12-06
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
- Calculate correct border radius for Bar.
|
|
16
|
+
|
|
17
|
+
## [1.5.4] - 2021-11-24
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
|
|
21
|
+
- Fixed set `scale` for `Area, Line`.
|
|
22
|
+
|
|
23
|
+
## [1.5.3] - 2021-10-27
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
|
|
27
|
+
- Returned data `(x, y, width, height)` in render function for `Bar, Horizontalbar`.
|
|
28
|
+
|
|
5
29
|
## [1.5.2] - 2021-10-22
|
|
6
30
|
|
|
7
31
|
### Fixed
|
package/lib/cjs/Area.js
CHANGED
|
@@ -46,17 +46,18 @@ var style = (
|
|
|
46
46
|
/*__reshadow_css_start__*/
|
|
47
47
|
_core.sstyled.insert(
|
|
48
48
|
/*__inner_css_start__*/
|
|
49
|
-
".
|
|
49
|
+
".___SArea_od5v4_gg_{fill:#50aef4;fill-opacity:.4}.___SArea_od5v4_gg_.__color_od5v4_gg_{fill:var(--color_clbofp)}.___SAreaLine_od5v4_gg_{stroke:#50aef4;stroke-width:3;fill:transparent}.___SAreaLine_od5v4_gg_.__color_od5v4_gg_{stroke:var(--color_clbofp)}.___SArea_od5v4_gg_,.___SAreaLine_od5v4_gg_{transition-property:d;transition-duration:var(--duration_clbofp);transition-timing-function:ease-in-out}.___SNull_od5v4_gg_{fill:transparent;stroke:#bdc4c6;stroke-dasharray:4}.___SNull_od5v4_gg_.__hide_od5v4_gg_{display:none}"
|
|
50
50
|
/*__inner_css_end__*/
|
|
51
|
-
, "
|
|
51
|
+
, "clbofp_gg_")
|
|
52
52
|
/*__reshadow_css_end__*/
|
|
53
53
|
, {
|
|
54
|
-
"__SArea": "
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
54
|
+
"__SArea": "___SArea_od5v4_gg_",
|
|
55
|
+
"_color": "__color_od5v4_gg_",
|
|
56
|
+
"--color": "--color_clbofp",
|
|
57
|
+
"__SAreaLine": "___SAreaLine_od5v4_gg_",
|
|
58
|
+
"--duration": "--duration_clbofp",
|
|
59
|
+
"__SNull": "___SNull_od5v4_gg_",
|
|
60
|
+
"_hide": "__hide_od5v4_gg_"
|
|
60
61
|
});
|
|
61
62
|
|
|
62
63
|
var AreaRoot = /*#__PURE__*/function (_Component) {
|
|
@@ -155,11 +156,13 @@ var AreaRoot = /*#__PURE__*/function (_Component) {
|
|
|
155
156
|
y0 = _ref3.y0,
|
|
156
157
|
$rootProps = _ref3.$rootProps,
|
|
157
158
|
_ref3$curve = _ref3.curve,
|
|
158
|
-
curve = _ref3$curve === void 0 ? _d3Shape.curveLinear : _ref3$curve
|
|
159
|
+
curve = _ref3$curve === void 0 ? _d3Shape.curveLinear : _ref3$curve,
|
|
160
|
+
scale = _ref3.scale;
|
|
159
161
|
|
|
160
|
-
var
|
|
161
|
-
|
|
162
|
-
|
|
162
|
+
var _ref4 = scale || $rootProps.scale,
|
|
163
|
+
_ref5 = (0, _slicedToArray2["default"])(_ref4, 2),
|
|
164
|
+
xScale = _ref5[0],
|
|
165
|
+
yScale = _ref5[1];
|
|
163
166
|
|
|
164
167
|
var yRange = yScale.range();
|
|
165
168
|
return {
|
|
@@ -175,7 +178,6 @@ var AreaRoot = /*#__PURE__*/function (_Component) {
|
|
|
175
178
|
}).y(function (p) {
|
|
176
179
|
return (0, _utils.scaleOfBandwidth)(yScale, p[y]);
|
|
177
180
|
}),
|
|
178
|
-
color: '#50aef4',
|
|
179
181
|
duration: 500
|
|
180
182
|
};
|
|
181
183
|
});
|
package/lib/cjs/Area.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Area.js"],"names":["AreaRoot","asProps","x","y","color","data","d3Line","d3","SArea","Element","SAreaLine","styles","hide","uid","size","duration","rect","setAttribute","Component","style","y0","$rootProps","curve","curveLinear","scale","xScale","yScale","yRange","range","defined","p","y1","Null","props","SNull","Dots"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;;AAHA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA
|
|
1
|
+
{"version":3,"sources":["../../src/Area.js"],"names":["AreaRoot","asProps","x","y","color","data","d3Line","d3","SArea","Element","SAreaLine","styles","hide","uid","size","duration","rect","setAttribute","Component","style","y0","$rootProps","curve","curveLinear","scale","xScale","yScale","yRange","range","defined","p","y1","Null","props","SNull","Dots"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { area, curveLinear, line } from 'd3-shape';\nimport Dots from './Dots';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport { definedData, scaleOfBandwidth, getNullData, definedNullData } from './utils';\nimport ClipPath from './ClipPath';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/area.shadow.css';\n\nclass AreaRoot extends Component {\n static displayName = 'Area';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({ x, y, y0, $rootProps, curve = curveLinear, scale }) => {\n const [xScale, yScale] = scale || $rootProps.scale;\n const yRange = yScale.range();\n\n return {\n d3: area()\n .defined(definedData(x, y))\n .curve(curve)\n .x((p) => scaleOfBandwidth(xScale, p[x]))\n .y0((p) => (p[y0] ? scaleOfBandwidth(yScale, p[y0]) : yRange[0]))\n .y1((p) => scaleOfBandwidth(yScale, p[y])),\n d3Line: line()\n .defined(definedData(x, y))\n .curve(curve)\n .x((p) => scaleOfBandwidth(xScale, p[x]))\n .y((p) => scaleOfBandwidth(yScale, p[y])),\n duration: 500,\n };\n };\n\n getDotsProps() {\n const { x, y, color, data, d3Line } = this.asProps;\n\n return {\n x,\n y,\n data,\n d3: d3Line,\n color,\n };\n }\n\n getNullProps() {\n const { x, y, color, data, d3Line } = this.asProps;\n return {\n data: getNullData(data, definedNullData(x, y), y),\n d3: d3Line,\n color,\n };\n }\n\n render() {\n const SArea = this.Element;\n const SAreaLine = 'path';\n const { styles, hide, d3, d3Line, data, color, uid, size, duration } = this.asProps;\n return sstyled(styles)(\n <>\n <SAreaLine\n clipPath={`url(#${uid})`}\n d={d3Line(data)}\n color={color}\n use:duration={`${duration}ms`}\n />\n <SArea\n clipPath={`url(#${uid})`}\n render=\"path\"\n d={d3(data)}\n hide={hide}\n color={color}\n use:duration={`${duration}ms`}\n />\n {duration && (\n <ClipPath\n setAttributeTag={(rect) => {\n rect.setAttribute('width', size[0]);\n }}\n id={uid}\n x=\"0\"\n y=\"0\"\n width={0}\n height={size[1]}\n transition={`width ${duration}ms ease-in-out`}\n />\n )}\n </>,\n );\n }\n}\n\nfunction Null(props) {\n const { Element: SNull, styles, d3, data, hide, color } = props;\n return sstyled(styles)(<SNull render=\"path\" d={d3(data)} hide={hide} color={color} />);\n}\n\nexport default createElement(AreaRoot, {\n Dots,\n Null,\n});\n"],"file":"Area.js"}
|
package/lib/cjs/Axis.js
CHANGED
|
@@ -44,22 +44,22 @@ var style = (
|
|
|
44
44
|
/*__reshadow_css_start__*/
|
|
45
45
|
_core.sstyled.insert(
|
|
46
46
|
/*__inner_css_start__*/
|
|
47
|
-
".
|
|
47
|
+
".___SAxis_1izro_gg_{stroke:#a6b0b3}.___SAxis_1izro_gg_.__hide_1izro_gg_{display:none}.___STick_1izro_gg_{font-size:12px;fill:#757575}.___STick_1izro_gg_.__hide_1izro_gg_{display:none}.___SGrid_1izro_gg_{fill:transparent;stroke:#dee3e5}.___STitle_1izro_gg_{font-size:12px;fill:#757575;transform-origin:center}.___STitle_1izro_gg_._position_top_1izro_gg_{text-anchor:middle;transform:translateY(-16px)}.___STitle_1izro_gg_._position_bottom_1izro_gg_{text-anchor:middle;alignment-baseline:hanging;transform:translateY(16px)}.___STitle_1izro_gg_._position_left_1izro_gg_,.___STitle_1izro_gg_._position_right_1izro_gg_{transform:rotate(-90deg);transform-box:fill-box;alignment-baseline:middle}.___STitle_1izro_gg_._position_left_1izro_gg_{text-anchor:end}.___STick_1izro_gg_._position_top_1izro_gg_{transform:translateY(-12px);text-anchor:middle}.___STick_1izro_gg_._position_bottom_1izro_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_1izro_gg_._position_right_1izro_gg_{transform:translateX(16px);text-anchor:start;alignment-baseline:middle}.___STick_1izro_gg_._position_left_1izro_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}.___STick_1izro_gg_._position_custom_0_1izro_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_1izro_gg_._position_custom_1_1izro_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}"
|
|
48
48
|
/*__inner_css_end__*/
|
|
49
49
|
, "8vu5zg_gg_")
|
|
50
50
|
/*__reshadow_css_end__*/
|
|
51
51
|
, {
|
|
52
|
-
"__SAxis": "
|
|
53
|
-
"_hide": "
|
|
54
|
-
"__STick": "
|
|
55
|
-
"__SGrid": "
|
|
56
|
-
"__STitle": "
|
|
57
|
-
"_position_top": "
|
|
58
|
-
"_position_bottom": "
|
|
59
|
-
"_position_left": "
|
|
60
|
-
"_position_right": "
|
|
61
|
-
"_position_custom_0": "
|
|
62
|
-
"_position_custom_1": "
|
|
52
|
+
"__SAxis": "___SAxis_1izro_gg_",
|
|
53
|
+
"_hide": "__hide_1izro_gg_",
|
|
54
|
+
"__STick": "___STick_1izro_gg_",
|
|
55
|
+
"__SGrid": "___SGrid_1izro_gg_",
|
|
56
|
+
"__STitle": "___STitle_1izro_gg_",
|
|
57
|
+
"_position_top": "_position_top_1izro_gg_",
|
|
58
|
+
"_position_bottom": "_position_bottom_1izro_gg_",
|
|
59
|
+
"_position_left": "_position_left_1izro_gg_",
|
|
60
|
+
"_position_right": "_position_right_1izro_gg_",
|
|
61
|
+
"_position_custom_0": "_position_custom_0_1izro_gg_",
|
|
62
|
+
"_position_custom_1": "_position_custom_1_1izro_gg_"
|
|
63
63
|
});
|
|
64
64
|
var CUSTOM_0 = Symbol('custom_0');
|
|
65
65
|
var CUSTOM_1 = Symbol('custom_1');
|
package/lib/cjs/Bar.js
CHANGED
|
@@ -44,16 +44,17 @@ var style = (
|
|
|
44
44
|
/*__reshadow_css_start__*/
|
|
45
45
|
_core.sstyled.insert(
|
|
46
46
|
/*__inner_css_start__*/
|
|
47
|
-
".
|
|
47
|
+
".___SBar_fx34p_gg_{fill:#50aef4;transition-property:height,width,y;transition-duration:var(--duration_6qtpvs);transition-timing-function:ease-in-out}.___SBar_fx34p_gg_.__color_fx34p_gg_{fill:var(--color_6qtpvs)}.___SBar_fx34p_gg_.__hide_fx34p_gg_{display:none}.___SBackground_fx34p_gg_{fill:#e4ecf1}"
|
|
48
48
|
/*__inner_css_end__*/
|
|
49
|
-
, "
|
|
49
|
+
, "6qtpvs_gg_")
|
|
50
50
|
/*__reshadow_css_end__*/
|
|
51
51
|
, {
|
|
52
|
-
"__SBar": "
|
|
53
|
-
"--
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
52
|
+
"__SBar": "___SBar_fx34p_gg_",
|
|
53
|
+
"--duration": "--duration_6qtpvs",
|
|
54
|
+
"_color": "__color_fx34p_gg_",
|
|
55
|
+
"--color": "--color_6qtpvs",
|
|
56
|
+
"_hide": "__hide_fx34p_gg_",
|
|
57
|
+
"__SBackground": "___SBackground_fx34p_gg_"
|
|
57
58
|
});
|
|
58
59
|
|
|
59
60
|
var BarRoot = /*#__PURE__*/function (_Component) {
|
|
@@ -127,7 +128,14 @@ var BarRoot = /*#__PURE__*/function (_Component) {
|
|
|
127
128
|
var barX = xScale(d[x]) + offset[0];
|
|
128
129
|
var height = Math.abs(yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale((_d$y2 = d[y0]) !== null && _d$y2 !== void 0 ? _d$y2 : 0)));
|
|
129
130
|
var width = widthProps || (0, _utils.getBandwidth)(xScale);
|
|
130
|
-
var
|
|
131
|
+
var dSvg = getRect({
|
|
132
|
+
x: barX,
|
|
133
|
+
y: barY,
|
|
134
|
+
width: width,
|
|
135
|
+
height: height,
|
|
136
|
+
radius: Array.isArray(r) ? r[i] : r,
|
|
137
|
+
position: d[y] > 0 ? 'top' : 'bottom'
|
|
138
|
+
});
|
|
131
139
|
return _ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SBar, _ref.cn("SBar", {
|
|
132
140
|
"key": "bar-".concat(i),
|
|
133
141
|
"render": "path",
|
|
@@ -138,14 +146,11 @@ var BarRoot = /*#__PURE__*/function (_Component) {
|
|
|
138
146
|
"index": i,
|
|
139
147
|
"hide": hide,
|
|
140
148
|
"color": color,
|
|
141
|
-
"
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
radius: r,
|
|
147
|
-
position: d[y] > 0 ? 'top' : 'bottom'
|
|
148
|
-
}),
|
|
149
|
+
"x": barX,
|
|
150
|
+
"y": barY,
|
|
151
|
+
"width": width,
|
|
152
|
+
"height": height,
|
|
153
|
+
"d": dSvg,
|
|
149
154
|
"use:duration": "".concat(duration, "ms")
|
|
150
155
|
}));
|
|
151
156
|
}
|
|
@@ -174,7 +179,6 @@ var BarRoot = /*#__PURE__*/function (_Component) {
|
|
|
174
179
|
(0, _defineProperty2["default"])(BarRoot, "style", style);
|
|
175
180
|
(0, _defineProperty2["default"])(BarRoot, "enhance", [(0, _uniqueID["default"])()]);
|
|
176
181
|
(0, _defineProperty2["default"])(BarRoot, "defaultProps", {
|
|
177
|
-
color: '#50aef4',
|
|
178
182
|
offset: [0, 0],
|
|
179
183
|
duration: 500,
|
|
180
184
|
r: 2
|
package/lib/cjs/Bar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Bar.js"],"names":["BarRoot","props","index","asProps","x","data","value","duration","uid","selectRect","selection","selectAll","selectRectNode","node","getAttribute","transition","attr","animationBar","d","i","SBar","Element","styles","color","y","y0","scale","hide","offset","r","widthProps","width","xScale","yScale","barY","Math","max","barX","height","abs","min","domain","
|
|
1
|
+
{"version":3,"sources":["../../src/Bar.js"],"names":["BarRoot","props","index","asProps","x","data","value","duration","uid","selectRect","selection","selectAll","selectRectNode","node","getAttribute","transition","attr","animationBar","d","i","SBar","Element","styles","color","y","y0","scale","hide","offset","r","widthProps","width","xScale","yScale","barY","Math","max","barX","height","abs","min","domain","dSvg","getRect","radius","Array","isArray","position","size","map","renderBar","bind","Component","style","Background","SBackground","yRange","range","bandwidth"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport ClipPath from './ClipPath';\nimport { getBandwidth, roundedPath } from './utils';\n\nimport style from './style/bar.shadow.css';\n\nclass BarRoot extends Component {\n static displayName = 'Bar';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n r: 2,\n };\n\n getBackgroundProps(props, index) {\n const { x, data } = this.asProps;\n return {\n value: data[index][x],\n };\n }\n\n animationBar() {\n const { duration, uid } = this.asProps;\n const selectRect = transition()\n .selection()\n .selectAll(`#${uid} rect`);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode && selectRectNode.getAttribute('y') !== '0') {\n selectRect\n .transition()\n .duration(duration)\n .attr('y', 0);\n }\n }\n\n componentDidUpdate() {\n this.animationBar();\n }\n\n componentDidMount() {\n this.animationBar();\n }\n\n renderBar(d, i) {\n const SBar = this.Element;\n const {\n styles,\n color,\n x,\n y,\n y0,\n scale,\n hide,\n offset,\n duration,\n uid,\n r,\n width: widthProps,\n } = this.asProps;\n\n const [xScale, yScale] = scale;\n const barY = yScale(Math.max(d[y0] ?? 0, d[y])) + offset[1];\n const barX = xScale(d[x]) + offset[0];\n const height = Math.abs(\n yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[y0] ?? 0)),\n );\n const width = widthProps || getBandwidth(xScale);\n const dSvg = getRect({\n x: barX,\n y: barY,\n width,\n height,\n radius: Array.isArray(r) ? r[i] : r,\n position: d[y] > 0 ? 'top' : 'bottom',\n });\n\n return sstyled(styles)(\n <SBar\n key={`bar-${i}`}\n render=\"path\"\n clipPath={`url(#${uid})`}\n __excludeProps={['data', 'scale', 'value']}\n childrenPosition=\"above\"\n value={d}\n index={i}\n hide={hide}\n color={color}\n x={barX}\n y={barY}\n width={width}\n height={height}\n d={dSvg}\n use:duration={`${duration}ms`}\n />,\n );\n }\n render() {\n const { data, uid, size, duration } = this.asProps;\n return (\n <>\n {data.map(this.renderBar.bind(this))}\n {duration && (\n <ClipPath\n key={`${uid}-animation`}\n id={uid}\n x=\"0\"\n y={size[1]}\n width={size[0]}\n height={`${size[1]}px`}\n />\n )}\n </>\n );\n }\n}\n\nfunction Background(props) {\n const { Element: SBackground, styles, scale, value } = props;\n\n const [xScale, yScale] = scale;\n const yRange = yScale.range();\n\n return sstyled(styles)(\n <SBackground\n render=\"rect\"\n childrenPosition=\"above\"\n width={xScale.bandwidth()}\n height={yRange[0] - yRange[1]}\n x={xScale(value)}\n y={yRange[1]}\n />,\n );\n}\n\nfunction getRect({ x, y, width, height, radius, position }) {\n if (height <= radius) return '';\n if (radius) {\n if (position === 'top')\n return roundedPath(x, y, width, height, radius, true, true, false, false);\n return roundedPath(x, y, width, height, radius, false, false, true, true);\n }\n return roundedPath(x, y, width, height, radius);\n}\n\nexport default createElement(BarRoot, { Background });\n"],"file":"Bar.js"}
|
package/lib/cjs/Donut.js
CHANGED
|
@@ -52,21 +52,23 @@ var style = (
|
|
|
52
52
|
/*__reshadow_css_start__*/
|
|
53
53
|
_core.sstyled.insert(
|
|
54
54
|
/*__inner_css_start__*/
|
|
55
|
-
".
|
|
55
|
+
".___SPie_q26vu_gg_{stroke:#fff;fill:#50aef4}.___SPie_q26vu_gg_.__color_q26vu_gg_{fill:var(--color_40fbm0)}.___SEmptyData_q26vu_gg_{fill:#e4ecf1}.___SEmptyData_q26vu_gg_.__color_q26vu_gg_{fill:var(--color_40fbm0)}.___SLabel_q26vu_gg_{text-anchor:middle;vertical-anchor:middle}"
|
|
56
56
|
/*__inner_css_end__*/
|
|
57
|
-
, "
|
|
57
|
+
, "40fbm0_gg_")
|
|
58
58
|
/*__reshadow_css_end__*/
|
|
59
59
|
, {
|
|
60
|
-
"__SPie": "
|
|
61
|
-
"
|
|
62
|
-
"
|
|
60
|
+
"__SPie": "___SPie_q26vu_gg_",
|
|
61
|
+
"_color": "__color_q26vu_gg_",
|
|
62
|
+
"--color": "--color_40fbm0",
|
|
63
|
+
"__SEmptyData": "___SEmptyData_q26vu_gg_",
|
|
64
|
+
"__SLabel": "___SLabel_q26vu_gg_"
|
|
63
65
|
});
|
|
64
66
|
var DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');
|
|
65
67
|
|
|
66
|
-
function animationInitialPie(
|
|
67
|
-
var halfsize =
|
|
68
|
-
d3Arc =
|
|
69
|
-
arcs =
|
|
68
|
+
function animationInitialPie(_ref4) {
|
|
69
|
+
var halfsize = _ref4.halfsize,
|
|
70
|
+
d3Arc = _ref4.d3Arc,
|
|
71
|
+
arcs = _ref4.arcs;
|
|
70
72
|
return function (_, ind) {
|
|
71
73
|
var d = arcs[ind];
|
|
72
74
|
if (!d) return function () {
|
|
@@ -82,10 +84,10 @@ function animationInitialPie(_ref3) {
|
|
|
82
84
|
};
|
|
83
85
|
}
|
|
84
86
|
|
|
85
|
-
function animationUpdatePie(
|
|
86
|
-
var halfsize =
|
|
87
|
-
arcs =
|
|
88
|
-
d3Arc =
|
|
87
|
+
function animationUpdatePie(_ref5) {
|
|
88
|
+
var halfsize = _ref5.halfsize,
|
|
89
|
+
arcs = _ref5.arcs,
|
|
90
|
+
d3Arc = _ref5.d3Arc;
|
|
89
91
|
return function (_, ind) {
|
|
90
92
|
var d = arcs[ind];
|
|
91
93
|
|
|
@@ -106,12 +108,12 @@ function animationUpdatePie(_ref4) {
|
|
|
106
108
|
};
|
|
107
109
|
}
|
|
108
110
|
|
|
109
|
-
function animationHoverPie(
|
|
110
|
-
var d =
|
|
111
|
-
selector =
|
|
112
|
-
duration =
|
|
113
|
-
innerRadius =
|
|
114
|
-
outerRadius =
|
|
111
|
+
function animationHoverPie(_ref6) {
|
|
112
|
+
var d = _ref6.d,
|
|
113
|
+
selector = _ref6.selector,
|
|
114
|
+
duration = _ref6.duration,
|
|
115
|
+
innerRadius = _ref6.innerRadius,
|
|
116
|
+
outerRadius = _ref6.outerRadius;
|
|
115
117
|
|
|
116
118
|
if (duration > 0) {
|
|
117
119
|
(0, _d3Transition.transition)().selection().select(selector).transition().duration(duration).attrTween('d', function () {
|
|
@@ -134,10 +136,10 @@ function animationHoverPie(_ref5) {
|
|
|
134
136
|
|
|
135
137
|
var increaseFactor = 8;
|
|
136
138
|
|
|
137
|
-
function getOuterRadius(
|
|
138
|
-
var size =
|
|
139
|
-
halfsize =
|
|
140
|
-
outerRadius =
|
|
139
|
+
function getOuterRadius(_ref7) {
|
|
140
|
+
var size = _ref7.size,
|
|
141
|
+
halfsize = _ref7.halfsize,
|
|
142
|
+
outerRadius = _ref7.outerRadius;
|
|
141
143
|
|
|
142
144
|
var _size = (0, _slicedToArray2["default"])(size, 2),
|
|
143
145
|
width = _size[0],
|
|
@@ -164,9 +166,9 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
164
166
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
165
167
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "virtualElement", (0, _canUseDOM["default"])() ? document.createElement('div') : {});
|
|
166
168
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "bindHandlerTooltip", function (visible, props) {
|
|
167
|
-
return function (
|
|
168
|
-
var x =
|
|
169
|
-
y =
|
|
169
|
+
return function (_ref8) {
|
|
170
|
+
var x = _ref8.clientX,
|
|
171
|
+
y = _ref8.clientY;
|
|
170
172
|
var eventEmitter = _this.asProps.eventEmitter;
|
|
171
173
|
_this.virtualElement.getBoundingClientRect = _this.generateGetBoundingClientRect(x, y);
|
|
172
174
|
_this.virtualElement[_utils.CONSTANT.VIRTUAL_ELEMENT] = true;
|
|
@@ -218,17 +220,17 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
218
220
|
return acc;
|
|
219
221
|
}, []);
|
|
220
222
|
|
|
221
|
-
pieData = Object.entries(data).filter(function (
|
|
222
|
-
var
|
|
223
|
-
key =
|
|
223
|
+
pieData = Object.entries(data).filter(function (_ref9) {
|
|
224
|
+
var _ref10 = (0, _slicedToArray2["default"])(_ref9, 1),
|
|
225
|
+
key = _ref10[0];
|
|
224
226
|
|
|
225
227
|
return keys.includes(key);
|
|
226
|
-
}).sort(function (
|
|
227
|
-
var _ref12 = (0, _slicedToArray2["default"])(_ref10, 1),
|
|
228
|
-
a = _ref12[0];
|
|
229
|
-
|
|
228
|
+
}).sort(function (_ref11, _ref12) {
|
|
230
229
|
var _ref13 = (0, _slicedToArray2["default"])(_ref11, 1),
|
|
231
|
-
|
|
230
|
+
a = _ref13[0];
|
|
231
|
+
|
|
232
|
+
var _ref14 = (0, _slicedToArray2["default"])(_ref12, 1),
|
|
233
|
+
b = _ref14[0];
|
|
232
234
|
|
|
233
235
|
return keys.indexOf(a) > keys.indexOf(b) ? 1 : -1;
|
|
234
236
|
});
|
|
@@ -288,12 +290,7 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
288
290
|
value: function getEmptyDataProps() {
|
|
289
291
|
var d3Arc = this.asProps.d3Arc;
|
|
290
292
|
return {
|
|
291
|
-
|
|
292
|
-
endAngle: Math.PI * 2,
|
|
293
|
-
startAngle: 0
|
|
294
|
-
},
|
|
295
|
-
d3Arc: d3Arc,
|
|
296
|
-
color: '#E4ECF1'
|
|
293
|
+
d3Arc: d3Arc
|
|
297
294
|
};
|
|
298
295
|
}
|
|
299
296
|
}, {
|
|
@@ -361,21 +358,21 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
361
358
|
(0, _defineProperty2["default"])(DonutRoot, "displayName", 'Donut');
|
|
362
359
|
(0, _defineProperty2["default"])(DonutRoot, "style", style);
|
|
363
360
|
(0, _defineProperty2["default"])(DonutRoot, "enhance", [(0, _uniqueID["default"])()]);
|
|
364
|
-
(0, _defineProperty2["default"])(DonutRoot, "defaultProps", function (
|
|
365
|
-
var
|
|
366
|
-
innerRadius =
|
|
367
|
-
outerRadius =
|
|
368
|
-
|
|
369
|
-
halfsize =
|
|
370
|
-
size =
|
|
361
|
+
(0, _defineProperty2["default"])(DonutRoot, "defaultProps", function (_ref18) {
|
|
362
|
+
var _ref18$innerRadius = _ref18.innerRadius,
|
|
363
|
+
innerRadius = _ref18$innerRadius === void 0 ? 0 : _ref18$innerRadius,
|
|
364
|
+
outerRadius = _ref18.outerRadius,
|
|
365
|
+
_ref18$halfsize = _ref18.halfsize,
|
|
366
|
+
halfsize = _ref18$halfsize === void 0 ? false : _ref18$halfsize,
|
|
367
|
+
size = _ref18.$rootProps.size;
|
|
371
368
|
var d3Arc = (0, _d3Shape.arc)().outerRadius(getOuterRadius({
|
|
372
369
|
size: size,
|
|
373
370
|
halfsize: halfsize,
|
|
374
371
|
outerRadius: outerRadius
|
|
375
372
|
})).innerRadius(innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius);
|
|
376
|
-
var d3Pie = (0, _d3Shape.pie)().sort(null).value(function (
|
|
377
|
-
var
|
|
378
|
-
value =
|
|
373
|
+
var d3Pie = (0, _d3Shape.pie)().sort(null).value(function (_ref19) {
|
|
374
|
+
var _ref20 = (0, _slicedToArray2["default"])(_ref19, 2),
|
|
375
|
+
value = _ref20[1];
|
|
379
376
|
|
|
380
377
|
return value;
|
|
381
378
|
});
|
|
@@ -392,15 +389,14 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
392
389
|
};
|
|
393
390
|
});
|
|
394
391
|
|
|
395
|
-
function Pie(
|
|
392
|
+
function Pie(_ref15) {
|
|
396
393
|
var _ref;
|
|
397
394
|
|
|
398
|
-
var SPie =
|
|
399
|
-
styles =
|
|
400
|
-
d3Arc =
|
|
401
|
-
data =
|
|
402
|
-
|
|
403
|
-
color = _ref14$color === void 0 ? '#50aef4' : _ref14$color;
|
|
395
|
+
var SPie = _ref15.Element,
|
|
396
|
+
styles = _ref15.styles,
|
|
397
|
+
d3Arc = _ref15.d3Arc,
|
|
398
|
+
data = _ref15.data,
|
|
399
|
+
color = _ref15.color;
|
|
404
400
|
return _ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SPie, _ref.cn("SPie", {
|
|
405
401
|
"render": "path",
|
|
406
402
|
"color": color,
|
|
@@ -408,23 +404,40 @@ function Pie(_ref14) {
|
|
|
408
404
|
}));
|
|
409
405
|
}
|
|
410
406
|
|
|
411
|
-
function
|
|
407
|
+
function EmptyData(_ref16) {
|
|
412
408
|
var _ref2;
|
|
413
409
|
|
|
414
|
-
var
|
|
415
|
-
styles =
|
|
416
|
-
|
|
417
|
-
|
|
410
|
+
var SEmptyData = _ref16.Element,
|
|
411
|
+
styles = _ref16.styles,
|
|
412
|
+
d3Arc = _ref16.d3Arc,
|
|
413
|
+
color = _ref16.color;
|
|
414
|
+
return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SEmptyData, _ref2.cn("SEmptyData", {
|
|
415
|
+
"render": "path",
|
|
416
|
+
"color": color,
|
|
417
|
+
"d": d3Arc({
|
|
418
|
+
endAngle: Math.PI * 2,
|
|
419
|
+
startAngle: 0
|
|
420
|
+
})
|
|
421
|
+
}));
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
function Label(_ref17) {
|
|
425
|
+
var _ref3;
|
|
426
|
+
|
|
427
|
+
var SLabel = _ref17.Element,
|
|
428
|
+
styles = _ref17.styles,
|
|
429
|
+
Children = _ref17.Children;
|
|
430
|
+
return _ref3 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SLabel, _ref3.cn("SLabel", {
|
|
418
431
|
"render": "text",
|
|
419
432
|
"x": "0",
|
|
420
433
|
"y": "0"
|
|
421
|
-
}), /*#__PURE__*/_react["default"].createElement(Children,
|
|
434
|
+
}), /*#__PURE__*/_react["default"].createElement(Children, _ref3.cn("Children", {})));
|
|
422
435
|
}
|
|
423
436
|
|
|
424
437
|
var Donut = (0, _createElement["default"])(DonutRoot, {
|
|
425
438
|
Pie: Pie,
|
|
426
439
|
Label: Label,
|
|
427
|
-
EmptyData:
|
|
440
|
+
EmptyData: EmptyData
|
|
428
441
|
});
|
|
429
442
|
var _default = Donut;
|
|
430
443
|
exports["default"] = _default;
|
package/lib/cjs/Donut.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Donut.js"],"names":["DEFAULT_INSTANCE","Symbol","animationInitialPie","halfsize","d3Arc","arcs","_","ind","d","iStart","Math","PI","startAngle","iEnd","endAngle","t","animationUpdatePie","_current","i","animationHoverPie","selector","duration","innerRadius","outerRadius","selection","select","transition","attrTween","min","max","d3ArcOut","increaseFactor","getOuterRadius","size","width","height","minORmax","DonutRoot","document","createElement","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","uid","id","top","right","bottom","left","Children","data","d3Pie","pieData","Object","entries","keys","React","toArray","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","key","includes","sort","a","b","indexOf","minValue","cur","map","find","arc","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","color","prevProps","$rootProps","selectAll","each","Element","k","getArcs","Component","style","value","SPie","styles","Label","SLabel","EmptyData"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { arc, pie } from 'd3-shape';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport { CONSTANT } from './utils';\nimport createElement from './createElement';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { interpolate } from 'd3-interpolate';\nimport { transition } from 'd3-transition';\n\nimport style from './style/donut.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\n\nfunction animationInitialPie({ halfsize, d3Arc, arcs }) {\n return function(_, ind) {\n const d = arcs[ind];\n if (!d) return () => '';\n const iStart = interpolate(halfsize ? -Math.PI / 2 : 0, d.startAngle);\n const iEnd = interpolate(halfsize ? -Math.PI / 2 : 0, d.endAngle);\n return function(t) {\n d.startAngle = iStart(t);\n d.endAngle = iEnd(t);\n return d3Arc(d);\n };\n };\n}\n\nfunction animationUpdatePie({ halfsize, arcs, d3Arc }) {\n return function(_, ind) {\n const d = arcs[ind];\n if (this._current) {\n const i = interpolate(this._current, d);\n this._current = i(0);\n return function(t) {\n return d3Arc(i(t));\n };\n } else {\n this._current = d;\n return animationInitialPie({ halfsize, arcs, d3Arc })(_, ind);\n }\n };\n}\n\nfunction animationHoverPie({ d, selector, duration, innerRadius, outerRadius }) {\n if (duration > 0) {\n transition()\n .selection()\n .select(selector)\n .transition()\n .duration(duration)\n .attrTween('d', function() {\n if (!d) return () => '';\n const [min, max] = outerRadius;\n const i = interpolate(min, max);\n return function(t) {\n const d3ArcOut = arc()\n .innerRadius(innerRadius)\n .outerRadius(i(t));\n return d3ArcOut(d);\n };\n });\n }\n}\n\nconst increaseFactor = 8;\n\nfunction getOuterRadius({ size, halfsize, outerRadius }) {\n const [width, height] = size;\n const minORmax = halfsize ? Math.max : Math.min;\n return outerRadius || minORmax(width - increaseFactor * 2, height - increaseFactor * 2) / 2;\n}\n\nclass DonutRoot extends Component {\n static displayName = 'Donut';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({\n innerRadius = 0,\n outerRadius,\n halfsize = false,\n $rootProps: { size },\n }) => {\n const d3Arc = arc()\n .outerRadius(getOuterRadius({ size, halfsize, outerRadius }))\n .innerRadius(innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius);\n let d3Pie = pie()\n .sort(null)\n .value(([, value]) => value);\n d3Pie[DEFAULT_INSTANCE] = true;\n\n if (halfsize) {\n d3Pie = d3Pie.startAngle(-Math.PI / 2).endAngle(Math.PI / 2);\n }\n return {\n d3Pie,\n d3Arc,\n duration: 500,\n };\n };\n\n get id() {\n const { uid, id } = this.asProps;\n return id || uid;\n }\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getArcs() {\n let { Children, data, d3Pie } = this.asProps;\n let pieData = Object.entries(data);\n\n if (d3Pie[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === Donut.Pie) {\n acc.push(child.props.dataKey);\n }\n return acc;\n }, []);\n pieData = Object.entries(data)\n .filter(([key]) => keys.includes(key))\n .sort(([a], [b]) => (keys.indexOf(a) > keys.indexOf(b) ? 1 : -1));\n }\n const minValue =\n pieData.reduce((acc, cur) => {\n if (cur[1]) acc += cur[1];\n return acc;\n }, 0) / 100;\n pieData = pieData.map((d) => {\n if (d[1] && d[1] < minValue) d[1] = minValue;\n return d;\n });\n return d3Pie(pieData);\n }\n\n bindHandlerTooltip = (visible, props) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n getPieProps(props) {\n let { d3Arc, duration, innerRadius } = this.asProps;\n innerRadius = innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius;\n const outerRadius = getOuterRadius(this.asProps);\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n\n return {\n data,\n d3Arc,\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n onMouseOver: (e) => {\n animationHoverPie({\n d: data,\n selector: `#${this.id} [d=\"${e.target.getAttribute('d')}\"]`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius, outerRadius + increaseFactor],\n });\n },\n onMouseOut: (e) => {\n animationHoverPie({\n d: data,\n selector: `#${this.id} [d=\"${e.target.getAttribute('d')}\"]`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius + increaseFactor, outerRadius],\n });\n },\n };\n }\n\n getEmptyDataProps() {\n const { d3Arc } = this.asProps;\n return {\n data: {\n endAngle: Math.PI * 2,\n startAngle: 0,\n },\n d3Arc,\n color: '#E4ECF1',\n };\n }\n\n componentDidUpdate(prevProps) {\n const { data, duration, d3Arc, halfsize } = this.asProps;\n const arcs = this.arcs;\n if (prevProps.$rootProps.data !== data && duration > 0) {\n transition()\n .selection()\n .selectAll(`#${this.id} [data-ui-name=\"Donut.Pie\"]`)\n .transition()\n .duration(duration)\n .attrTween('d', animationUpdatePie({ d3Arc, arcs, halfsize }));\n }\n }\n\n componentDidMount() {\n const { duration, d3Arc, halfsize } = this.asProps;\n const arcs = this.arcs;\n if (duration > 0) {\n transition()\n .selection()\n .selectAll(`#${this.id} [data-ui-name=\"Donut.Pie\"]`)\n .each(function(_, ind) {\n this._current = arcs[ind];\n })\n .transition()\n .duration(duration)\n .attrTween('d', animationInitialPie({ halfsize, d3Arc, arcs }));\n }\n }\n\n render() {\n const { halfsize, size } = this.asProps;\n const [width, height] = size;\n const Element = this.Element;\n const k = halfsize ? 1 : 2;\n this.arcs = this.getArcs();\n return (\n <Element\n id={this.id}\n render=\"g\"\n childrenPosition=\"inside\"\n transform={`translate(${width / 2},${height / k})`}\n />\n );\n }\n}\n\nfunction Pie({ Element: SPie, styles, d3Arc, data, color = '#50aef4' }) {\n return sstyled(styles)(<SPie render=\"path\" color={color} d={d3Arc(data)} />);\n}\n\nfunction Label({ Element: SLabel, styles, Children }) {\n return sstyled(styles)(\n <SLabel render=\"text\" x=\"0\" y=\"0\">\n <Children />\n </SLabel>,\n );\n}\n\nconst Donut = createElement(DonutRoot, { Pie, Label, EmptyData: Pie });\n\nexport default Donut;\n"],"file":"Donut.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/Donut.js"],"names":["DEFAULT_INSTANCE","Symbol","animationInitialPie","halfsize","d3Arc","arcs","_","ind","d","iStart","Math","PI","startAngle","iEnd","endAngle","t","animationUpdatePie","_current","i","animationHoverPie","selector","duration","innerRadius","outerRadius","selection","select","transition","attrTween","min","max","d3ArcOut","increaseFactor","getOuterRadius","size","width","height","minORmax","DonutRoot","document","createElement","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","uid","id","top","right","bottom","left","Children","data","d3Pie","pieData","Object","entries","keys","React","toArray","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","key","includes","sort","a","b","indexOf","minValue","cur","map","find","arc","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","prevProps","$rootProps","selectAll","each","Element","k","getArcs","Component","style","value","SPie","styles","color","EmptyData","SEmptyData","Label","SLabel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;;AAFA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAMA,gBAAgB,GAAGC,MAAM,CAAC,kBAAD,CAA/B;;AAEA,SAASC,mBAAT,QAAwD;AAAA,MAAzBC,QAAyB,SAAzBA,QAAyB;AAAA,MAAfC,KAAe,SAAfA,KAAe;AAAA,MAARC,IAAQ,SAARA,IAAQ;AACtD,SAAO,UAASC,CAAT,EAAYC,GAAZ,EAAiB;AACtB,QAAMC,CAAC,GAAGH,IAAI,CAACE,GAAD,CAAd;AACA,QAAI,CAACC,CAAL,EAAQ,OAAO;AAAA,aAAM,EAAN;AAAA,KAAP;AACR,QAAMC,MAAM,GAAG,gCAAYN,QAAQ,GAAG,CAACO,IAAI,CAACC,EAAN,GAAW,CAAd,GAAkB,CAAtC,EAAyCH,CAAC,CAACI,UAA3C,CAAf;AACA,QAAMC,IAAI,GAAG,gCAAYV,QAAQ,GAAG,CAACO,IAAI,CAACC,EAAN,GAAW,CAAd,GAAkB,CAAtC,EAAyCH,CAAC,CAACM,QAA3C,CAAb;AACA,WAAO,UAASC,CAAT,EAAY;AACjBP,MAAAA,CAAC,CAACI,UAAF,GAAeH,MAAM,CAACM,CAAD,CAArB;AACAP,MAAAA,CAAC,CAACM,QAAF,GAAaD,IAAI,CAACE,CAAD,CAAjB;AACA,aAAOX,KAAK,CAACI,CAAD,CAAZ;AACD,KAJD;AAKD,GAVD;AAWD;;AAED,SAASQ,kBAAT,QAAuD;AAAA,MAAzBb,QAAyB,SAAzBA,QAAyB;AAAA,MAAfE,IAAe,SAAfA,IAAe;AAAA,MAATD,KAAS,SAATA,KAAS;AACrD,SAAO,UAASE,CAAT,EAAYC,GAAZ,EAAiB;AACtB,QAAMC,CAAC,GAAGH,IAAI,CAACE,GAAD,CAAd;;AACA,QAAI,KAAKU,QAAT,EAAmB;AACjB,UAAMC,CAAC,GAAG,gCAAY,KAAKD,QAAjB,EAA2BT,CAA3B,CAAV;AACA,WAAKS,QAAL,GAAgBC,CAAC,CAAC,CAAD,CAAjB;AACA,aAAO,UAASH,CAAT,EAAY;AACjB,eAAOX,KAAK,CAACc,CAAC,CAACH,CAAD,CAAF,CAAZ;AACD,OAFD;AAGD,KAND,MAMO;AACL,WAAKE,QAAL,GAAgBT,CAAhB;AACA,aAAON,mBAAmB,CAAC;AAAEC,QAAAA,QAAQ,EAARA,QAAF;AAAYE,QAAAA,IAAI,EAAJA,IAAZ;AAAkBD,QAAAA,KAAK,EAALA;AAAlB,OAAD,CAAnB,CAA+CE,CAA/C,EAAkDC,GAAlD,CAAP;AACD;AACF,GAZD;AAaD;;AAED,SAASY,iBAAT,QAAgF;AAAA,MAAnDX,CAAmD,SAAnDA,CAAmD;AAAA,MAAhDY,QAAgD,SAAhDA,QAAgD;AAAA,MAAtCC,QAAsC,SAAtCA,QAAsC;AAAA,MAA5BC,WAA4B,SAA5BA,WAA4B;AAAA,MAAfC,WAAe,SAAfA,WAAe;;AAC9E,MAAIF,QAAQ,GAAG,CAAf,EAAkB;AAChB,oCACGG,SADH,GAEGC,MAFH,CAEUL,QAFV,EAGGM,UAHH,GAIGL,QAJH,CAIYA,QAJZ,EAKGM,SALH,CAKa,GALb,EAKkB,YAAW;AACzB,UAAI,CAACnB,CAAL,EAAQ,OAAO;AAAA,eAAM,EAAN;AAAA,OAAP;;AADiB,yDAENe,WAFM;AAAA,UAElBK,GAFkB;AAAA,UAEbC,GAFa;;AAGzB,UAAMX,CAAC,GAAG,gCAAYU,GAAZ,EAAiBC,GAAjB,CAAV;AACA,aAAO,UAASd,CAAT,EAAY;AACjB,YAAMe,QAAQ,GAAG,oBACdR,WADc,CACFA,WADE,EAEdC,WAFc,CAEFL,CAAC,CAACH,CAAD,CAFC,CAAjB;AAGA,eAAOe,QAAQ,CAACtB,CAAD,CAAf;AACD,OALD;AAMD,KAfH;AAgBD;AACF;;AAED,IAAMuB,cAAc,GAAG,CAAvB;;AAEA,SAASC,cAAT,QAAyD;AAAA,MAA/BC,IAA+B,SAA/BA,IAA+B;AAAA,MAAzB9B,QAAyB,SAAzBA,QAAyB;AAAA,MAAfoB,WAAe,SAAfA,WAAe;;AAAA,8CAC/BU,IAD+B;AAAA,MAChDC,KADgD;AAAA,MACzCC,MADyC;;AAEvD,MAAMC,QAAQ,GAAGjC,QAAQ,GAAGO,IAAI,CAACmB,GAAR,GAAcnB,IAAI,CAACkB,GAA5C;AACA,SAAOL,WAAW,IAAIa,QAAQ,CAACF,KAAK,GAAGH,cAAc,GAAG,CAA1B,EAA6BI,MAAM,GAAGJ,cAAc,GAAG,CAAvD,CAAR,GAAoE,CAA1F;AACD;;IAEKM,S;;;;;;;;;;;;;;;uGAkCa,+BAAcC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAd,GAA8C,E;2GAiC1C,UAACC,OAAD,EAAUC,KAAV;AAAA,aAAoB,iBAAgC;AAAA,YAApBC,CAAoB,SAA7BC,OAA6B;AAAA,YAARC,CAAQ,SAAjBC,OAAiB;AAAA,YAC/DC,YAD+D,GAC9C,MAAKC,OADyC,CAC/DD,YAD+D;AAEvE,cAAKE,cAAL,CAAoBC,qBAApB,GAA4C,MAAKC,6BAAL,CAAmCR,CAAnC,EAAsCE,CAAtC,CAA5C;AACA,cAAKI,cAAL,CAAoBG,gBAASC,eAA7B,IAAgD,IAAhD;AACAN,QAAAA,YAAY,CAACO,IAAb,CAAkB,kBAAlB,EAAsCb,OAAtC,EAA+CC,KAA/C,EAAsD,MAAKO,cAA3D;AACD,OALoB;AAAA,K;;;;;;SAtCrB,eAAS;AAAA,0BACa,KAAKD,OADlB;AAAA,UACCO,GADD,iBACCA,GADD;AAAA,UACMC,EADN,iBACMA,EADN;AAEP,aAAOA,EAAE,IAAID,GAAb;AACD;;;WAID,yCAA4C;AAAA,UAAdZ,CAAc,uEAAV,CAAU;AAAA,UAAPE,CAAO,uEAAH,CAAG;AAC1C,aAAO;AAAA,eAAO;AAAEV,UAAAA,KAAK,EAAE,CAAT;AAAYC,UAAAA,MAAM,EAAE,CAApB;AAAuBqB,UAAAA,GAAG,EAAEZ,CAA5B;AAA+Ba,UAAAA,KAAK,EAAEf,CAAtC;AAAyCgB,UAAAA,MAAM,EAAEd,CAAjD;AAAoDe,UAAAA,IAAI,EAAEjB;AAA1D,SAAP;AAAA,OAAP;AACD;;;WAED,mBAAU;AAAA,2BACwB,KAAKK,OAD7B;AAAA,UACFa,QADE,kBACFA,QADE;AAAA,UACQC,IADR,kBACQA,IADR;AAAA,UACcC,KADd,kBACcA,KADd;AAER,UAAIC,OAAO,GAAGC,MAAM,CAACC,OAAP,CAAeJ,IAAf,CAAd;;AAEA,UAAIC,KAAK,CAAC9D,gBAAD,CAAT,EAA6B;AAC3B,YAAMkE,IAAI,GAAGC,kBAAMP,QAAN,CAAeQ,OAAf,CAAuB,mCAAkBR,QAAlB,CAAvB,EAAoDS,MAApD,CAA2D,UAACC,GAAD,EAAMC,KAAN,EAAgB;AACtF,cAAI,gCAAMC,cAAN,CAAqBD,KAArB,KAA+BA,KAAK,CAACE,IAAN,KAAeC,KAAK,CAACC,GAAxD,EAA6D;AAC3DL,YAAAA,GAAG,CAACM,IAAJ,CAASL,KAAK,CAAC9B,KAAN,CAAYoC,OAArB;AACD;;AACD,iBAAOP,GAAP;AACD,SALY,EAKV,EALU,CAAb;;AAMAP,QAAAA,OAAO,GAAGC,MAAM,CAACC,OAAP,CAAeJ,IAAf,EACPiB,MADO,CACA;AAAA;AAAA,cAAEC,GAAF;;AAAA,iBAAWb,IAAI,CAACc,QAAL,CAAcD,GAAd,CAAX;AAAA,SADA,EAEPE,IAFO,CAEF;AAAA;AAAA,cAAEC,CAAF;;AAAA;AAAA,cAAOC,CAAP;;AAAA,iBAAejB,IAAI,CAACkB,OAAL,CAAaF,CAAb,IAAkBhB,IAAI,CAACkB,OAAL,CAAaD,CAAb,CAAlB,GAAoC,CAApC,GAAwC,CAAC,CAAxD;AAAA,SAFE,CAAV;AAGD;;AACD,UAAME,QAAQ,GACZtB,OAAO,CAACM,MAAR,CAAe,UAACC,GAAD,EAAMgB,GAAN,EAAc;AAC3B,YAAIA,GAAG,CAAC,CAAD,CAAP,EAAYhB,GAAG,IAAIgB,GAAG,CAAC,CAAD,CAAV;AACZ,eAAOhB,GAAP;AACD,OAHD,EAGG,CAHH,IAGQ,GAJV;AAKAP,MAAAA,OAAO,GAAGA,OAAO,CAACwB,GAAR,CAAY,UAAC/E,CAAD,EAAO;AAC3B,YAAIA,CAAC,CAAC,CAAD,CAAD,IAAQA,CAAC,CAAC,CAAD,CAAD,GAAO6E,QAAnB,EAA6B7E,CAAC,CAAC,CAAD,CAAD,GAAO6E,QAAP;AAC7B,eAAO7E,CAAP;AACD,OAHS,CAAV;AAIA,aAAOsD,KAAK,CAACC,OAAD,CAAZ;AACD;;;WASD,qBAAYtB,KAAZ,EAAmB;AAAA;;AAAA,2BACsB,KAAKM,OAD3B;AAAA,UACX3C,KADW,kBACXA,KADW;AAAA,UACJiB,QADI,kBACJA,QADI;AAAA,UACMC,WADN,kBACMA,WADN;AAEjBA,MAAAA,WAAW,GAAGA,WAAW,GAAGS,cAAd,GAA+BT,WAAW,GAAGS,cAA7C,GAA8DT,WAA5E;AACA,UAAMC,WAAW,GAAGS,cAAc,CAAC,KAAKe,OAAN,CAAlC;AACA,UAAMc,IAAI,GAAG,KAAKxD,IAAL,CAAUmF,IAAV,CAAe,UAACC,GAAD;AAAA,eAASA,GAAG,CAAC5B,IAAJ,CAAS,CAAT,MAAgBpB,KAAK,CAACoC,OAA/B;AAAA,OAAf,CAAb;AAEA,aAAO;AACLhB,QAAAA,IAAI,EAAJA,IADK;AAELzD,QAAAA,KAAK,EAALA,KAFK;AAGLsF,QAAAA,WAAW,EAAE,KAAKC,kBAAL,CAAwB,IAAxB,EAA8BlD,KAA9B,CAHR;AAILmD,QAAAA,YAAY,EAAE,KAAKD,kBAAL,CAAwB,KAAxB,EAA+BlD,KAA/B,CAJT;AAKLoD,QAAAA,WAAW,EAAE,qBAACC,CAAD,EAAO;AAClB3E,UAAAA,iBAAiB,CAAC;AAChBX,YAAAA,CAAC,EAAEqD,IADa;AAEhBzC,YAAAA,QAAQ,aAAM,MAAI,CAACmC,EAAX,mBAAqBuC,CAAC,CAACC,MAAF,CAASC,YAAT,CAAsB,GAAtB,CAArB,QAFQ;AAGhB3E,YAAAA,QAAQ,EAAEA,QAAQ,KAAK,CAAb,GAAiB,CAAjB,GAAqB,GAHf;AAIhBC,YAAAA,WAAW,EAAXA,WAJgB;AAKhBC,YAAAA,WAAW,EAAE,CAACA,WAAD,EAAcA,WAAW,GAAGQ,cAA5B;AALG,WAAD,CAAjB;AAOD,SAbI;AAcLkE,QAAAA,UAAU,EAAE,oBAACH,CAAD,EAAO;AACjB3E,UAAAA,iBAAiB,CAAC;AAChBX,YAAAA,CAAC,EAAEqD,IADa;AAEhBzC,YAAAA,QAAQ,aAAM,MAAI,CAACmC,EAAX,mBAAqBuC,CAAC,CAACC,MAAF,CAASC,YAAT,CAAsB,GAAtB,CAArB,QAFQ;AAGhB3E,YAAAA,QAAQ,EAAEA,QAAQ,KAAK,CAAb,GAAiB,CAAjB,GAAqB,GAHf;AAIhBC,YAAAA,WAAW,EAAXA,WAJgB;AAKhBC,YAAAA,WAAW,EAAE,CAACA,WAAW,GAAGQ,cAAf,EAA+BR,WAA/B;AALG,WAAD,CAAjB;AAOD;AAtBI,OAAP;AAwBD;;;WAED,6BAAoB;AAAA,UACVnB,KADU,GACA,KAAK2C,OADL,CACV3C,KADU;AAElB,aAAO;AACLA,QAAAA,KAAK,EAALA;AADK,OAAP;AAGD;;;WAED,4BAAmB8F,SAAnB,EAA8B;AAAA,2BACgB,KAAKnD,OADrB;AAAA,UACpBc,IADoB,kBACpBA,IADoB;AAAA,UACdxC,QADc,kBACdA,QADc;AAAA,UACJjB,KADI,kBACJA,KADI;AAAA,UACGD,QADH,kBACGA,QADH;AAE5B,UAAME,IAAI,GAAG,KAAKA,IAAlB;;AACA,UAAI6F,SAAS,CAACC,UAAV,CAAqBtC,IAArB,KAA8BA,IAA9B,IAAsCxC,QAAQ,GAAG,CAArD,EAAwD;AACtD,wCACGG,SADH,GAEG4E,SAFH,YAEiB,KAAK7C,EAFtB,oCAGG7B,UAHH,GAIGL,QAJH,CAIYA,QAJZ,EAKGM,SALH,CAKa,GALb,EAKkBX,kBAAkB,CAAC;AAAEZ,UAAAA,KAAK,EAALA,KAAF;AAASC,UAAAA,IAAI,EAAJA,IAAT;AAAeF,UAAAA,QAAQ,EAARA;AAAf,SAAD,CALpC;AAMD;AACF;;;WAED,6BAAoB;AAAA,2BACoB,KAAK4C,OADzB;AAAA,UACV1B,QADU,kBACVA,QADU;AAAA,UACAjB,KADA,kBACAA,KADA;AAAA,UACOD,QADP,kBACOA,QADP;AAElB,UAAME,IAAI,GAAG,KAAKA,IAAlB;;AACA,UAAIgB,QAAQ,GAAG,CAAf,EAAkB;AAChB,wCACGG,SADH,GAEG4E,SAFH,YAEiB,KAAK7C,EAFtB,oCAGG8C,IAHH,CAGQ,UAAS/F,CAAT,EAAYC,GAAZ,EAAiB;AACrB,eAAKU,QAAL,GAAgBZ,IAAI,CAACE,GAAD,CAApB;AACD,SALH,EAMGmB,UANH,GAOGL,QAPH,CAOYA,QAPZ,EAQGM,SARH,CAQa,GARb,EAQkBzB,mBAAmB,CAAC;AAAEC,UAAAA,QAAQ,EAARA,QAAF;AAAYC,UAAAA,KAAK,EAALA,KAAZ;AAAmBC,UAAAA,IAAI,EAAJA;AAAnB,SAAD,CARrC;AASD;AACF;;;WAED,kBAAS;AAAA,2BACoB,KAAK0C,OADzB;AAAA,UACC5C,QADD,kBACCA,QADD;AAAA,UACW8B,IADX,kBACWA,IADX;;AAAA,mDAEiBA,IAFjB;AAAA,UAEAC,KAFA;AAAA,UAEOC,MAFP;;AAGP,UAAMmE,OAAO,GAAG,KAAKA,OAArB;AACA,UAAMC,CAAC,GAAGpG,QAAQ,GAAG,CAAH,GAAO,CAAzB;AACA,WAAKE,IAAL,GAAY,KAAKmG,OAAL,EAAZ;AACA,0BACE,gCAAC,OAAD;AACE,QAAA,EAAE,EAAE,KAAKjD,EADX;AAEE,QAAA,MAAM,EAAC,GAFT;AAGE,QAAA,gBAAgB,EAAC,QAHnB;AAIE,QAAA,SAAS,sBAAerB,KAAK,GAAG,CAAvB,cAA4BC,MAAM,GAAGoE,CAArC;AAJX,QADF;AAQD;;;EA5JqBE,e;;iCAAlBpE,S,iBACiB,O;iCADjBA,S,WAEWqE,K;iCAFXrE,S,aAGa,CAAC,2BAAD,C;iCAHbA,S,kBAKkB,kBAKhB;AAAA,kCAJJf,WAII;AAAA,MAJJA,WAII,mCAJU,CAIV;AAAA,MAHJC,WAGI,UAHJA,WAGI;AAAA,+BAFJpB,QAEI;AAAA,MAFJA,QAEI,gCAFO,KAEP;AAAA,MADU8B,IACV,UADJkE,UACI,CADUlE,IACV;AACJ,MAAM7B,KAAK,GAAG,oBACXmB,WADW,CACCS,cAAc,CAAC;AAAEC,IAAAA,IAAI,EAAJA,IAAF;AAAQ9B,IAAAA,QAAQ,EAARA,QAAR;AAAkBoB,IAAAA,WAAW,EAAXA;AAAlB,GAAD,CADf,EAEXD,WAFW,CAECA,WAAW,GAAGS,cAAd,GAA+BT,WAAW,GAAGS,cAA7C,GAA8DT,WAF/D,CAAd;AAGA,MAAIwC,KAAK,GAAG,oBACTmB,IADS,CACJ,IADI,EAET0B,KAFS,CAEH;AAAA;AAAA,QAAIA,KAAJ;;AAAA,WAAeA,KAAf;AAAA,GAFG,CAAZ;AAGA7C,EAAAA,KAAK,CAAC9D,gBAAD,CAAL,GAA0B,IAA1B;;AAEA,MAAIG,QAAJ,EAAc;AACZ2D,IAAAA,KAAK,GAAGA,KAAK,CAAClD,UAAN,CAAiB,CAACF,IAAI,CAACC,EAAN,GAAW,CAA5B,EAA+BG,QAA/B,CAAwCJ,IAAI,CAACC,EAAL,GAAU,CAAlD,CAAR;AACD;;AACD,SAAO;AACLmD,IAAAA,KAAK,EAALA,KADK;AAEL1D,IAAAA,KAAK,EAALA,KAFK;AAGLiB,IAAAA,QAAQ,EAAE;AAHL,GAAP;AAKD,C;;AAoIH,SAASsD,GAAT,SAA4D;AAAA;;AAAA,MAApCiC,IAAoC,UAA7CN,OAA6C;AAAA,MAA9BO,MAA8B,UAA9BA,MAA8B;AAAA,MAAtBzG,KAAsB,UAAtBA,KAAsB;AAAA,MAAfyD,IAAe,UAAfA,IAAe;AAAA,MAATiD,KAAS,UAATA,KAAS;AAC1D,gBAAO,mBAAQD,MAAR,CAAP,eAAuB,gCAAC,IAAD;AAAA,cAAa,MAAb;AAAA,aAA2BC,KAA3B;AAAA,SAAqC1G,KAAK,CAACyD,IAAD;AAA1C,KAAvB;AACD;;AAED,SAASkD,SAAT,SAAkE;AAAA;;AAAA,MAApCC,UAAoC,UAA7CV,OAA6C;AAAA,MAAxBO,MAAwB,UAAxBA,MAAwB;AAAA,MAAhBzG,KAAgB,UAAhBA,KAAgB;AAAA,MAAT0G,KAAS,UAATA,KAAS;AAChE,iBAAO,mBAAQD,MAAR,CAAP,eACE,gCAAC,UAAD;AAAA,cAAmB,MAAnB;AAAA,aAAiCC,KAAjC;AAAA,SAA2C1G,KAAK,CAAC;AAAEU,MAAAA,QAAQ,EAAEJ,IAAI,CAACC,EAAL,GAAU,CAAtB;AAAyBC,MAAAA,UAAU,EAAE;AAArC,KAAD;AAAhD,KADF;AAGD;;AAED,SAASqG,KAAT,SAAsD;AAAA;;AAAA,MAA5BC,MAA4B,UAArCZ,OAAqC;AAAA,MAApBO,MAAoB,UAApBA,MAAoB;AAAA,MAAZjD,QAAY,UAAZA,QAAY;AACpD,iBAAO,mBAAQiD,MAAR,CAAP,eACE,gCAAC,MAAD;AAAA,cAAe,MAAf;AAAA,SAAwB,GAAxB;AAAA,SAA8B;AAA9B,mBACE,gCAAC,QAAD,2BADF,CADF;AAKD;;AAED,IAAMnC,KAAK,GAAG,+BAAcrC,SAAd,EAAyB;AAAEsC,EAAAA,GAAG,EAAHA,GAAF;AAAOsC,EAAAA,KAAK,EAALA,KAAP;AAAcF,EAAAA,SAAS,EAATA;AAAd,CAAzB,CAAd;eAEerC,K","sourcesContent":["import React from 'react';\nimport { arc, pie } from 'd3-shape';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport { CONSTANT } from './utils';\nimport createElement from './createElement';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { interpolate } from 'd3-interpolate';\nimport { transition } from 'd3-transition';\n\nimport style from './style/donut.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\n\nfunction animationInitialPie({ halfsize, d3Arc, arcs }) {\n return function(_, ind) {\n const d = arcs[ind];\n if (!d) return () => '';\n const iStart = interpolate(halfsize ? -Math.PI / 2 : 0, d.startAngle);\n const iEnd = interpolate(halfsize ? -Math.PI / 2 : 0, d.endAngle);\n return function(t) {\n d.startAngle = iStart(t);\n d.endAngle = iEnd(t);\n return d3Arc(d);\n };\n };\n}\n\nfunction animationUpdatePie({ halfsize, arcs, d3Arc }) {\n return function(_, ind) {\n const d = arcs[ind];\n if (this._current) {\n const i = interpolate(this._current, d);\n this._current = i(0);\n return function(t) {\n return d3Arc(i(t));\n };\n } else {\n this._current = d;\n return animationInitialPie({ halfsize, arcs, d3Arc })(_, ind);\n }\n };\n}\n\nfunction animationHoverPie({ d, selector, duration, innerRadius, outerRadius }) {\n if (duration > 0) {\n transition()\n .selection()\n .select(selector)\n .transition()\n .duration(duration)\n .attrTween('d', function() {\n if (!d) return () => '';\n const [min, max] = outerRadius;\n const i = interpolate(min, max);\n return function(t) {\n const d3ArcOut = arc()\n .innerRadius(innerRadius)\n .outerRadius(i(t));\n return d3ArcOut(d);\n };\n });\n }\n}\n\nconst increaseFactor = 8;\n\nfunction getOuterRadius({ size, halfsize, outerRadius }) {\n const [width, height] = size;\n const minORmax = halfsize ? Math.max : Math.min;\n return outerRadius || minORmax(width - increaseFactor * 2, height - increaseFactor * 2) / 2;\n}\n\nclass DonutRoot extends Component {\n static displayName = 'Donut';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({\n innerRadius = 0,\n outerRadius,\n halfsize = false,\n $rootProps: { size },\n }) => {\n const d3Arc = arc()\n .outerRadius(getOuterRadius({ size, halfsize, outerRadius }))\n .innerRadius(innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius);\n let d3Pie = pie()\n .sort(null)\n .value(([, value]) => value);\n d3Pie[DEFAULT_INSTANCE] = true;\n\n if (halfsize) {\n d3Pie = d3Pie.startAngle(-Math.PI / 2).endAngle(Math.PI / 2);\n }\n return {\n d3Pie,\n d3Arc,\n duration: 500,\n };\n };\n\n get id() {\n const { uid, id } = this.asProps;\n return id || uid;\n }\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getArcs() {\n let { Children, data, d3Pie } = this.asProps;\n let pieData = Object.entries(data);\n\n if (d3Pie[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === Donut.Pie) {\n acc.push(child.props.dataKey);\n }\n return acc;\n }, []);\n pieData = Object.entries(data)\n .filter(([key]) => keys.includes(key))\n .sort(([a], [b]) => (keys.indexOf(a) > keys.indexOf(b) ? 1 : -1));\n }\n const minValue =\n pieData.reduce((acc, cur) => {\n if (cur[1]) acc += cur[1];\n return acc;\n }, 0) / 100;\n pieData = pieData.map((d) => {\n if (d[1] && d[1] < minValue) d[1] = minValue;\n return d;\n });\n return d3Pie(pieData);\n }\n\n bindHandlerTooltip = (visible, props) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n getPieProps(props) {\n let { d3Arc, duration, innerRadius } = this.asProps;\n innerRadius = innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius;\n const outerRadius = getOuterRadius(this.asProps);\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n\n return {\n data,\n d3Arc,\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n onMouseOver: (e) => {\n animationHoverPie({\n d: data,\n selector: `#${this.id} [d=\"${e.target.getAttribute('d')}\"]`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius, outerRadius + increaseFactor],\n });\n },\n onMouseOut: (e) => {\n animationHoverPie({\n d: data,\n selector: `#${this.id} [d=\"${e.target.getAttribute('d')}\"]`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius + increaseFactor, outerRadius],\n });\n },\n };\n }\n\n getEmptyDataProps() {\n const { d3Arc } = this.asProps;\n return {\n d3Arc,\n };\n }\n\n componentDidUpdate(prevProps) {\n const { data, duration, d3Arc, halfsize } = this.asProps;\n const arcs = this.arcs;\n if (prevProps.$rootProps.data !== data && duration > 0) {\n transition()\n .selection()\n .selectAll(`#${this.id} [data-ui-name=\"Donut.Pie\"]`)\n .transition()\n .duration(duration)\n .attrTween('d', animationUpdatePie({ d3Arc, arcs, halfsize }));\n }\n }\n\n componentDidMount() {\n const { duration, d3Arc, halfsize } = this.asProps;\n const arcs = this.arcs;\n if (duration > 0) {\n transition()\n .selection()\n .selectAll(`#${this.id} [data-ui-name=\"Donut.Pie\"]`)\n .each(function(_, ind) {\n this._current = arcs[ind];\n })\n .transition()\n .duration(duration)\n .attrTween('d', animationInitialPie({ halfsize, d3Arc, arcs }));\n }\n }\n\n render() {\n const { halfsize, size } = this.asProps;\n const [width, height] = size;\n const Element = this.Element;\n const k = halfsize ? 1 : 2;\n this.arcs = this.getArcs();\n return (\n <Element\n id={this.id}\n render=\"g\"\n childrenPosition=\"inside\"\n transform={`translate(${width / 2},${height / k})`}\n />\n );\n }\n}\n\nfunction Pie({ Element: SPie, styles, d3Arc, data, color }) {\n return sstyled(styles)(<SPie render=\"path\" color={color} d={d3Arc(data)} />);\n}\n\nfunction EmptyData({ Element: SEmptyData, styles, d3Arc, color }) {\n return sstyled(styles)(\n <SEmptyData render=\"path\" color={color} d={d3Arc({ endAngle: Math.PI * 2, startAngle: 0 })} />,\n );\n}\n\nfunction Label({ Element: SLabel, styles, Children }) {\n return sstyled(styles)(\n <SLabel render=\"text\" x=\"0\" y=\"0\">\n <Children />\n </SLabel>,\n );\n}\n\nconst Donut = createElement(DonutRoot, { Pie, Label, EmptyData });\n\nexport default Donut;\n"],"file":"Donut.js"}
|