@semcore/d3-chart 2.17.5 → 3.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -2
- package/lib/cjs/Area.js +9 -9
- package/lib/cjs/Axis.js +14 -14
- package/lib/cjs/Bar.js +11 -10
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Bubble.js +18 -13
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/Donut.js +10 -8
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +9 -9
- package/lib/cjs/HorizontalBar.js +11 -10
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Hover.js +33 -11
- package/lib/cjs/Hover.js.map +1 -1
- package/lib/cjs/Line.js +8 -8
- package/lib/cjs/Plot.js +3 -3
- package/lib/cjs/Radar.js +82 -71
- package/lib/cjs/Radar.js.map +1 -1
- package/lib/cjs/RadialTree.js +92 -74
- package/lib/cjs/RadialTree.js.map +1 -1
- package/lib/cjs/ReferenceLine.js +9 -9
- package/lib/cjs/ResponsiveContainer.js +1 -2
- package/lib/cjs/ResponsiveContainer.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +15 -10
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/Tooltip.js +8 -8
- package/lib/cjs/Venn.js +10 -8
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yModule.js +2 -2
- package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yView.js +3 -3
- package/lib/cjs/a11y/hints.js.map +1 -1
- package/lib/cjs/a11y/serialize.js.map +1 -1
- package/lib/cjs/createElement.d.js +2 -0
- package/lib/cjs/createElement.d.js.map +1 -0
- package/lib/cjs/types/Area.d.js.map +1 -1
- package/lib/cjs/types/Axis.d.js.map +1 -1
- package/lib/cjs/types/Bar.d.js.map +1 -1
- package/lib/cjs/types/Bubble.d.js.map +1 -1
- package/lib/cjs/types/ClipPath.d.js.map +1 -1
- package/lib/cjs/types/Donut.d.js.map +1 -1
- package/lib/cjs/types/GroupBar.d.js.map +1 -1
- package/lib/cjs/types/HorizontalBar.d.js.map +1 -1
- package/lib/cjs/types/Hover.d.js.map +1 -1
- package/lib/cjs/types/Line.d.js.map +1 -1
- package/lib/cjs/types/Plot.d.js +0 -2
- package/lib/cjs/types/Plot.d.js.map +1 -1
- package/lib/cjs/types/Radar.d.js +2 -0
- package/lib/cjs/types/Radar.d.js.map +1 -0
- package/lib/cjs/types/ReferenceLine.d.js.map +1 -1
- package/lib/cjs/types/ResponsiveContainer.d.js.map +1 -1
- package/lib/cjs/types/ScatterPlot.d.js.map +1 -1
- package/lib/cjs/types/StackBar.d.js.map +1 -1
- package/lib/cjs/types/StackedArea.d.js.map +1 -1
- package/lib/cjs/types/Tooltip.d.js.map +1 -1
- package/lib/cjs/types/Venn.d.js.map +1 -1
- package/lib/cjs/types/context.d.js.map +1 -1
- package/lib/cjs/types/index.d.js.map +1 -1
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Area.js +9 -9
- package/lib/es6/Axis.js +14 -14
- package/lib/es6/Bar.js +11 -10
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Bubble.js +18 -13
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/Donut.js +10 -8
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +9 -9
- package/lib/es6/HorizontalBar.js +11 -10
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Hover.js +36 -12
- package/lib/es6/Hover.js.map +1 -1
- package/lib/es6/Line.js +8 -8
- package/lib/es6/Plot.js +3 -3
- package/lib/es6/Radar.js +84 -72
- package/lib/es6/Radar.js.map +1 -1
- package/lib/es6/RadialTree.js +90 -72
- package/lib/es6/RadialTree.js.map +1 -1
- package/lib/es6/ReferenceLine.js +9 -9
- package/lib/es6/ResponsiveContainer.js +0 -1
- package/lib/es6/ResponsiveContainer.js.map +1 -1
- package/lib/es6/ScatterPlot.js +15 -10
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/Tooltip.js +8 -8
- package/lib/es6/Venn.js +10 -8
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/a11y/PlotA11yModule.js +2 -2
- package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
- package/lib/es6/a11y/PlotA11yView.js +3 -3
- package/lib/es6/a11y/hints.js.map +1 -1
- package/lib/es6/a11y/serialize.js.map +1 -1
- package/lib/es6/createElement.d.js +2 -0
- package/lib/es6/createElement.d.js.map +1 -0
- package/lib/es6/types/Area.d.js.map +1 -1
- package/lib/es6/types/Axis.d.js.map +1 -1
- package/lib/es6/types/Bar.d.js.map +1 -1
- package/lib/es6/types/Bubble.d.js.map +1 -1
- package/lib/es6/types/ClipPath.d.js.map +1 -1
- package/lib/es6/types/Donut.d.js.map +1 -1
- package/lib/es6/types/GroupBar.d.js.map +1 -1
- package/lib/es6/types/HorizontalBar.d.js.map +1 -1
- package/lib/es6/types/Hover.d.js.map +1 -1
- package/lib/es6/types/Line.d.js.map +1 -1
- package/lib/es6/types/Plot.d.js +1 -1
- package/lib/es6/types/Plot.d.js.map +1 -1
- package/lib/es6/types/Radar.d.js +2 -0
- package/lib/es6/types/Radar.d.js.map +1 -0
- package/lib/es6/types/ReferenceLine.d.js.map +1 -1
- package/lib/es6/types/ResponsiveContainer.d.js.map +1 -1
- package/lib/es6/types/ScatterPlot.d.js.map +1 -1
- package/lib/es6/types/StackBar.d.js.map +1 -1
- package/lib/es6/types/StackedArea.d.js.map +1 -1
- package/lib/es6/types/Tooltip.d.js.map +1 -1
- package/lib/es6/types/Venn.d.js.map +1 -1
- package/lib/es6/types/context.d.js.map +1 -1
- package/lib/es6/types/index.d.js +3 -0
- package/lib/es6/types/index.d.js.map +1 -1
- package/lib/es6/utils.js.map +1 -1
- package/lib/types/Area.d.ts +26 -17
- package/lib/types/Axis.d.ts +40 -23
- package/lib/types/Bar.d.ts +32 -16
- package/lib/types/Bubble.d.ts +30 -12
- package/lib/types/ClipPath.d.ts +7 -5
- package/lib/types/Donut.d.ts +29 -13
- package/lib/types/GroupBar.d.ts +15 -12
- package/lib/types/HorizontalBar.d.ts +12 -12
- package/lib/types/Hover.d.ts +32 -8
- package/lib/types/Line.d.ts +33 -23
- package/lib/types/Plot.d.ts +34 -22
- package/lib/types/Radar.d.ts +145 -0
- package/lib/types/RadialTree.d.ts +53 -28
- package/lib/types/ReferenceLine.d.ts +27 -14
- package/lib/types/ResponsiveContainer.d.ts +18 -10
- package/lib/types/ScatterPlot.d.ts +25 -9
- package/lib/types/StackBar.d.ts +20 -14
- package/lib/types/StackedArea.d.ts +16 -12
- package/lib/types/Tooltip.d.ts +55 -23
- package/lib/types/Venn.d.ts +47 -29
- package/lib/types/a11y/PlotA11yModule.d.ts +1 -1
- package/lib/types/a11y/focus.d.ts +1 -1
- package/lib/types/a11y/hints.d.ts +5 -5
- package/lib/types/a11y/insights.d.ts +8 -8
- package/lib/types/a11y/intl.d.ts +1 -1
- package/lib/types/a11y/locale.d.ts +1 -1
- package/lib/types/a11y/serialize.d.ts +4 -4
- package/lib/types/a11y/summarize.d.ts +1 -1
- package/lib/types/context.d.ts +10 -0
- package/lib/types/createElement.d.ts +2 -0
- package/lib/types/index.d.ts +2 -0
- package/lib/types/utils.d.ts +10 -7
- package/package.json +10 -10
- package/lib/cjs/types/Radar.js +0 -2
- package/lib/cjs/types/Radar.js.map +0 -1
- package/lib/es6/types/Radar.js +0 -2
- package/lib/es6/types/Radar.js.map +0 -1
- package/lib/types/types/Radar.d.ts +0 -95
package/CHANGELOG.md
CHANGED
|
@@ -2,11 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
-
## [
|
|
5
|
+
## [3.0.0] - 2023-07-15
|
|
6
|
+
|
|
7
|
+
### Break
|
|
8
|
+
|
|
9
|
+
- Strict, backward incompatible typings.
|
|
6
10
|
|
|
7
11
|
### Changed
|
|
8
12
|
|
|
9
|
-
-
|
|
13
|
+
- Deprecated `import { Tooltip } from '@semcore/ui/d3-chart` in favor of better typed Tooltips.
|
|
14
|
+
- On type level made `name` property of `Donut.Pie` obligatory.
|
|
15
|
+
- On type level made `name` property of `Venn.Circle` obligatory.
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
- Typed `HoverLine.Tooltip`, `HoverRect.Tooltip`, `Radar.Tooltip`, `Bubble.Tooltip`, `Donut.Tooltip`, `ScatterPlot.Tooltip` and `Venn.Tooltip`.
|
|
10
20
|
|
|
11
21
|
## [2.17.4] - 2023-06-27
|
|
12
22
|
|
|
@@ -26,6 +36,12 @@ CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangel
|
|
|
26
36
|
|
|
27
37
|
- Version patch update due to children dependencies update (`@semcore/animation` [1.10.18 ~> 1.10.19], `@semcore/utils` [3.53.3 ~> 3.53.4]).
|
|
28
38
|
|
|
39
|
+
## [2.17.1] - 2023-06-14
|
|
40
|
+
|
|
41
|
+
### Changed
|
|
42
|
+
|
|
43
|
+
- Version patch update due to children dependencies update (`@semcore/animation` [1.10.18 ~> 1.10.19], `@semcore/utils` [3.53.3 ~> 3.53.4]).
|
|
44
|
+
|
|
29
45
|
## [2.17.0] - 2023-06-12
|
|
30
46
|
|
|
31
47
|
### Added
|
package/lib/cjs/Area.js
CHANGED
|
@@ -21,15 +21,15 @@ var _createElement = _interopRequireDefault(require("./createElement"));
|
|
|
21
21
|
var _utils = require("./utils");
|
|
22
22
|
var _ClipPath = _interopRequireDefault(require("./ClipPath"));
|
|
23
23
|
/*__reshadow-styles__:"./style/area.shadow.css"*/
|
|
24
|
-
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
|
25
|
-
"__SArea": "
|
|
26
|
-
"_color": "
|
|
27
|
-
"--color": "--
|
|
28
|
-
"_transparent": "
|
|
29
|
-
"__SAreaLine": "
|
|
30
|
-
"--duration": "--
|
|
31
|
-
"__SNull": "
|
|
32
|
-
"_hide": "
|
|
24
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SArea_113x8_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);fill-opacity:.2}.___SArea_113x8_gg_.__color_113x8_gg_{fill:var(--color_113x8)}.___SArea_113x8_gg_.__transparent_113x8_gg_{opacity:.3}.___SAreaLine_113x8_gg_{stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff);stroke-width:3;fill:transparent}.___SAreaLine_113x8_gg_.__color_113x8_gg_{stroke:var(--color_113x8)}.___SAreaLine_113x8_gg_.__transparent_113x8_gg_{opacity:.3}.___SAreaLine_113x8_gg_,.___SArea_113x8_gg_{transition-property:d;transition-duration:var(--duration_113x8);transition-timing-function:ease-in-out}.___SNull_113x8_gg_{fill:transparent;stroke:var(--intergalactic-chart-grid-x-axis, #c4c7cf);stroke-dasharray:4}.___SNull_113x8_gg_.__hide_113x8_gg_{display:none}" /*__inner_css_end__*/, "113x8_gg_") /*__reshadow_css_end__*/, {
|
|
25
|
+
"__SArea": "___SArea_113x8_gg_",
|
|
26
|
+
"_color": "__color_113x8_gg_",
|
|
27
|
+
"--color": "--color_113x8",
|
|
28
|
+
"_transparent": "__transparent_113x8_gg_",
|
|
29
|
+
"__SAreaLine": "___SAreaLine_113x8_gg_",
|
|
30
|
+
"--duration": "--duration_113x8",
|
|
31
|
+
"__SNull": "___SNull_113x8_gg_",
|
|
32
|
+
"_hide": "__hide_113x8_gg_"
|
|
33
33
|
});
|
|
34
34
|
var AreaRoot = /*#__PURE__*/function (_Component) {
|
|
35
35
|
(0, _inherits2["default"])(AreaRoot, _Component);
|
package/lib/cjs/Axis.js
CHANGED
|
@@ -18,20 +18,20 @@ var _createElement = _interopRequireDefault(require("./createElement"));
|
|
|
18
18
|
var _utils = require("./utils");
|
|
19
19
|
var _MAP_POSITION_AXIS, _MAP_POSITION_TICK;
|
|
20
20
|
/*__reshadow-styles__:"./style/axis.shadow.css"*/
|
|
21
|
-
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
|
22
|
-
"__SAxis": "
|
|
23
|
-
"_hide": "
|
|
24
|
-
"__STick": "
|
|
25
|
-
"__SGrid": "
|
|
26
|
-
"__STitle": "
|
|
27
|
-
"--transform-origin": "--transform-
|
|
28
|
-
"_position_top": "
|
|
29
|
-
"_position_bottom": "
|
|
30
|
-
"_position_right": "
|
|
31
|
-
"_position_left": "
|
|
32
|
-
"_verticalWritingMode": "
|
|
33
|
-
"_position_custom_0": "
|
|
34
|
-
"_position_custom_1": "
|
|
21
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SAxis_rna6f_gg_{stroke:var(--intergalactic-chart-grid-x-axis, #c4c7cf)}.___SAxis_rna6f_gg_.__hide_rna6f_gg_,.___STick_rna6f_gg_.__hide_rna6f_gg_{display:none}.___STick_rna6f_gg_{font-size:var(--intergalactic-fs-100, 12px);fill:var(--intergalactic-chart-grid-text-label, #6c6e79)}.___SGrid_rna6f_gg_{fill:transparent;stroke:var(--intergalactic-border-secondary, #e0e1e9)}.___STitle_rna6f_gg_{font-size:var(--intergalactic-fs-100, 12px);fill:var(--intergalactic-text-hint, #6c6e79);transform-origin:var(--transform-origin_rna6f)}.___STitle_rna6f_gg_._position_top_rna6f_gg_{text-anchor:middle}.___STitle_rna6f_gg_._position_bottom_rna6f_gg_{text-anchor:middle;alignment-baseline:hanging}.___STitle_rna6f_gg_._position_left_rna6f_gg_,.___STitle_rna6f_gg_._position_right_rna6f_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___STitle_rna6f_gg_._position_left_rna6f_gg_.__verticalWritingMode_rna6f_gg_,.___STitle_rna6f_gg_._position_right_rna6f_gg_.__verticalWritingMode_rna6f_gg_{writing-mode:vertical-rl;transform:none}.___STick_rna6f_gg_._position_top_rna6f_gg_{transform:translateY(-12px);text-anchor:middle}.___STick_rna6f_gg_._position_bottom_rna6f_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_rna6f_gg_._position_right_rna6f_gg_{transform:translateX(16px);text-anchor:start;alignment-baseline:middle}.___STick_rna6f_gg_._position_left_rna6f_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}.___STick_rna6f_gg_._position_custom_0_rna6f_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_rna6f_gg_._position_custom_1_rna6f_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}" /*__inner_css_end__*/, "rna6f_gg_") /*__reshadow_css_end__*/, {
|
|
22
|
+
"__SAxis": "___SAxis_rna6f_gg_",
|
|
23
|
+
"_hide": "__hide_rna6f_gg_",
|
|
24
|
+
"__STick": "___STick_rna6f_gg_",
|
|
25
|
+
"__SGrid": "___SGrid_rna6f_gg_",
|
|
26
|
+
"__STitle": "___STitle_rna6f_gg_",
|
|
27
|
+
"--transform-origin": "--transform-origin_rna6f",
|
|
28
|
+
"_position_top": "_position_top_rna6f_gg_",
|
|
29
|
+
"_position_bottom": "_position_bottom_rna6f_gg_",
|
|
30
|
+
"_position_right": "_position_right_rna6f_gg_",
|
|
31
|
+
"_position_left": "_position_left_rna6f_gg_",
|
|
32
|
+
"_verticalWritingMode": "__verticalWritingMode_rna6f_gg_",
|
|
33
|
+
"_position_custom_0": "_position_custom_0_rna6f_gg_",
|
|
34
|
+
"_position_custom_1": "_position_custom_1_rna6f_gg_"
|
|
35
35
|
});
|
|
36
36
|
var CUSTOM_0 = Symbol('custom_0');
|
|
37
37
|
var CUSTOM_1 = Symbol('custom_1');
|
package/lib/cjs/Bar.js
CHANGED
|
@@ -19,14 +19,14 @@ var _createElement = _interopRequireDefault(require("./createElement"));
|
|
|
19
19
|
var _ClipPath = _interopRequireDefault(require("./ClipPath"));
|
|
20
20
|
var _utils = require("./utils");
|
|
21
21
|
/*__reshadow-styles__:"./style/bar.shadow.css"*/
|
|
22
|
-
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
|
23
|
-
"__SBar": "
|
|
24
|
-
"--duration": "--
|
|
25
|
-
"_color": "
|
|
26
|
-
"--color": "--
|
|
27
|
-
"_hide": "
|
|
28
|
-
"_transparent": "
|
|
29
|
-
"__SBackground": "
|
|
22
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SBar_1ywra_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:height,width,y;transition-duration:var(--duration_1ywra);transition-timing-function:ease-in-out}.___SBar_1ywra_gg_.__color_1ywra_gg_{fill:var(--color_1ywra)}.___SBar_1ywra_gg_.__hide_1ywra_gg_{display:none}.___SBar_1ywra_gg_.__transparent_1ywra_gg_{opacity:.3}.___SBackground_1ywra_gg_{fill:var(--intergalactic-chart-palette-order-other-data, #c4c7cf)}" /*__inner_css_end__*/, "1ywra_gg_") /*__reshadow_css_end__*/, {
|
|
23
|
+
"__SBar": "___SBar_1ywra_gg_",
|
|
24
|
+
"--duration": "--duration_1ywra",
|
|
25
|
+
"_color": "__color_1ywra_gg_",
|
|
26
|
+
"--color": "--color_1ywra",
|
|
27
|
+
"_hide": "__hide_1ywra_gg_",
|
|
28
|
+
"_transparent": "__transparent_1ywra_gg_",
|
|
29
|
+
"__SBackground": "___SBackground_1ywra_gg_"
|
|
30
30
|
});
|
|
31
31
|
var MIN_HEIGHT = 2;
|
|
32
32
|
exports.MIN_HEIGHT = MIN_HEIGHT;
|
|
@@ -47,12 +47,13 @@ var BarRoot = /*#__PURE__*/function (_Component) {
|
|
|
47
47
|
}
|
|
48
48
|
(0, _createClass2["default"])(BarRoot, [{
|
|
49
49
|
key: "getBackgroundProps",
|
|
50
|
-
value: function getBackgroundProps(
|
|
50
|
+
value: function getBackgroundProps(_props, index) {
|
|
51
51
|
var _this$asProps = this.asProps,
|
|
52
52
|
x = _this$asProps.x,
|
|
53
53
|
data = _this$asProps.data;
|
|
54
54
|
return {
|
|
55
|
-
value: data[index][x]
|
|
55
|
+
value: data[index][x],
|
|
56
|
+
index: index
|
|
56
57
|
};
|
|
57
58
|
}
|
|
58
59
|
}, {
|
package/lib/cjs/Bar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bar.js","names":["_core","require","_react","_interopRequireDefault","_d3Transition","_uniqueID","_createElement","_ClipPath","_utils","style","sstyled","insert","MIN_HEIGHT","exports","calcPartBarY","y","minHeight","height","Object","is","BarRoot","_Component","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","value","getBackgroundProps","props","index","_this$asProps","asProps","x","data","animationBar","_this$asProps2","duration","uid","selectRect","transition","selection","selectAll","concat","selectRectNode","node","getAttribute","attr","componentDidUpdate","componentDidMount","renderBar","d","i","_ref","_d$y","_d$y2","_d$y3","SBar","Element","_this$asProps3","styles","color","y0","scale","hide","offsetProps","offset","r","hMin","widthProps","width","groupKey","onClick","transparent","_scale","_slicedToArray2","xScale","yScale","absHeight","Math","abs","min","domain","Number","max","getBandwidth","barX","barY","handleClick","event","dSvg","getRect","radius","Array","isArray","position","dataHintsHandler","describeGroupedValues","describeValueEntity","createElement","cn","render","_this$asProps4","size","Fragment","map","bind","id","Component","_defineProperty2","uniqueIDEnhancement","Background","_ref2","SBackground","_scale2","yRange","range","bandwidth","_ref3","roundedPath","_default"],"sources":["../../src/Bar.jsx"],"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\nexport const MIN_HEIGHT = 2;\n\nconst calcPartBarY = (y, minHeight, height) => {\n // need for the correct rendering of negative values (bar should be under Y-axis)\n if (y <= 0) {\n return Object.is(y, 0) ? minHeight : 0;\n }\n // need for the correct rendering of the minimum positive values\n return height <= minHeight ? minHeight : 0;\n};\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 hMin: MIN_HEIGHT,\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().selection().selectAll(`#${uid} rect`);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode && selectRectNode.getAttribute('y') !== '0') {\n selectRect.transition().duration(duration).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: offsetProps,\n duration,\n uid,\n r,\n hMin,\n width: widthProps,\n groupKey,\n onClick,\n transparent,\n } = this.asProps;\n const offset = typeof offsetProps === 'function' ? offsetProps(i) : offsetProps;\n const [xScale, yScale] = scale;\n const absHeight = Math.abs(\n yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[y0] ?? 0)),\n );\n const height = Number(d[y] - (d[y0] ?? 0)) === 0 ? 0 : Math.max(absHeight, hMin);\n const width = widthProps || getBandwidth(xScale);\n const barX = xScale(d[x]) + offset[0];\n const barY =\n yScale(Math.max(d[y0] ?? 0, height <= hMin && d[y] > 0 ? 0 : d[y])) +\n offset[1] -\n calcPartBarY(d[y], hMin, height);\n const handleClick = (event) => onClick?.(d, event);\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 || Object.is(d[y], 0) ? 'top' : 'bottom',\n });\n\n if (groupKey) {\n this.asProps.dataHintsHandler.describeGroupedValues(groupKey, y);\n } else {\n this.asProps.dataHintsHandler.describeValueEntity(`${i}.${y}`, groupKey ?? d[x]);\n }\n\n return sstyled(styles)(\n <SBar\n aria-hidden\n key={`bar-${i}`}\n render='path'\n clipPath={`url(#${uid})`}\n __excludeProps={['data', 'scale', 'value', 'onClick', 'offset']}\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 onClickCapture={handleClick}\n use:duration={`${duration}ms`}\n transparent={transparent}\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 aria-hidden\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 aria-hidden\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) radius = height;\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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Bar.js","names":["_core","require","_react","_interopRequireDefault","_d3Transition","_uniqueID","_createElement","_ClipPath","_utils","style","sstyled","insert","MIN_HEIGHT","exports","calcPartBarY","y","minHeight","height","Object","is","BarRoot","_Component","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","value","getBackgroundProps","_props","index","_this$asProps","asProps","x","data","animationBar","_this$asProps2","duration","uid","selectRect","transition","selection","selectAll","concat","selectRectNode","node","getAttribute","attr","componentDidUpdate","componentDidMount","renderBar","d","i","_ref","_d$y","_d$y2","_d$y3","SBar","Element","_this$asProps3","styles","color","y0","scale","hide","offsetProps","offset","r","hMin","widthProps","width","groupKey","onClick","transparent","_scale","_slicedToArray2","xScale","yScale","absHeight","Math","abs","min","domain","Number","max","getBandwidth","barX","barY","handleClick","event","dSvg","getRect","radius","Array","isArray","position","dataHintsHandler","describeGroupedValues","describeValueEntity","createElement","cn","render","_this$asProps4","size","Fragment","map","bind","id","Component","_defineProperty2","uniqueIDEnhancement","Background","props","_ref2","SBackground","_scale2","yRange","range","bandwidth","_ref3","roundedPath","_default"],"sources":["../../src/Bar.jsx"],"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\nexport const MIN_HEIGHT = 2;\n\nconst calcPartBarY = (y, minHeight, height) => {\n // need for the correct rendering of negative values (bar should be under Y-axis)\n if (y <= 0) {\n return Object.is(y, 0) ? minHeight : 0;\n }\n // need for the correct rendering of the minimum positive values\n return height <= minHeight ? minHeight : 0;\n};\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 hMin: MIN_HEIGHT,\n };\n\n getBackgroundProps(_props, index) {\n const { x, data } = this.asProps;\n return {\n value: data[index][x],\n index,\n };\n }\n\n animationBar() {\n const { duration, uid } = this.asProps;\n const selectRect = transition().selection().selectAll(`#${uid} rect`);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode && selectRectNode.getAttribute('y') !== '0') {\n selectRect.transition().duration(duration).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: offsetProps,\n duration,\n uid,\n r,\n hMin,\n width: widthProps,\n groupKey,\n onClick,\n transparent,\n } = this.asProps;\n const offset = typeof offsetProps === 'function' ? offsetProps(i) : offsetProps;\n const [xScale, yScale] = scale;\n const absHeight = Math.abs(\n yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[y0] ?? 0)),\n );\n const height = Number(d[y] - (d[y0] ?? 0)) === 0 ? 0 : Math.max(absHeight, hMin);\n const width = widthProps || getBandwidth(xScale);\n const barX = xScale(d[x]) + offset[0];\n const barY =\n yScale(Math.max(d[y0] ?? 0, height <= hMin && d[y] > 0 ? 0 : d[y])) +\n offset[1] -\n calcPartBarY(d[y], hMin, height);\n const handleClick = (event) => onClick?.(d, event);\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 || Object.is(d[y], 0) ? 'top' : 'bottom',\n });\n\n if (groupKey) {\n this.asProps.dataHintsHandler.describeGroupedValues(groupKey, y);\n } else {\n this.asProps.dataHintsHandler.describeValueEntity(`${i}.${y}`, groupKey ?? d[x]);\n }\n\n return sstyled(styles)(\n <SBar\n aria-hidden\n key={`bar-${i}`}\n render='path'\n clipPath={`url(#${uid})`}\n __excludeProps={['data', 'scale', 'value', 'onClick', 'offset']}\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 onClickCapture={handleClick}\n use:duration={`${duration}ms`}\n transparent={transparent}\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 aria-hidden\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 aria-hidden\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) radius = height;\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"],"mappings":";;;;;;;;;;;;;AAEA,IAAAA,KAAA,GAAAC,OAAA;AAFA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAEA,IAAAI,SAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,cAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,SAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAAoD;AAAA,IAAAQ,KAAA,+BAAAT,KAAA,CAAAU,OAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAI7C,IAAMC,UAAU,GAAG,CAAC;AAACC,OAAA,CAAAD,UAAA,GAAAA,UAAA;AAE5B,IAAME,YAAY,GAAG,SAAfA,YAAYA,CAAIC,CAAC,EAAEC,SAAS,EAAEC,MAAM,EAAK;EAC7C;EACA,IAAIF,CAAC,IAAI,CAAC,EAAE;IACV,OAAOG,MAAM,CAACC,EAAE,CAACJ,CAAC,EAAE,CAAC,CAAC,GAAGC,SAAS,GAAG,CAAC;EACxC;EACA;EACA,OAAOC,MAAM,IAAID,SAAS,GAAGA,SAAS,GAAG,CAAC;AAC5C,CAAC;AAAC,IAEII,OAAO,0BAAAC,UAAA;EAAA,IAAAC,UAAA,aAAAF,OAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,OAAAC,aAAA,aAAAJ,OAAA;EAAA,SAAAA,QAAA;IAAA,IAAAK,gBAAA,mBAAAL,OAAA;IAAA,OAAAG,MAAA,CAAAG,KAAA,OAAAC,SAAA;EAAA;EAAA,IAAAC,aAAA,aAAAR,OAAA;IAAAS,GAAA;IAAAC,KAAA,EAYX,SAAAC,mBAAmBC,MAAM,EAAEC,KAAK,EAAE;MAChC,IAAAC,aAAA,GAAoB,IAAI,CAACC,OAAO;QAAxBC,CAAC,GAAAF,aAAA,CAADE,CAAC;QAAEC,IAAI,GAAAH,aAAA,CAAJG,IAAI;MACf,OAAO;QACLP,KAAK,EAAEO,IAAI,CAACJ,KAAK,CAAC,CAACG,CAAC,CAAC;QACrBH,KAAK,EAALA;MACF,CAAC;IACH;EAAC;IAAAJ,GAAA;IAAAC,KAAA,EAED,SAAAQ,aAAA,EAAe;MACb,IAAAC,cAAA,GAA0B,IAAI,CAACJ,OAAO;QAA9BK,QAAQ,GAAAD,cAAA,CAARC,QAAQ;QAAEC,GAAG,GAAAF,cAAA,CAAHE,GAAG;MACrB,IAAMC,UAAU,GAAG,IAAAC,wBAAU,GAAE,CAACC,SAAS,EAAE,CAACC,SAAS,KAAAC,MAAA,CAAKL,GAAG,WAAQ;MACrE,IAAMM,cAAc,GAAGL,UAAU,CAACM,IAAI,EAAE;MAExC,IAAIR,QAAQ,GAAG,CAAC,IAAIO,cAAc,IAAIA,cAAc,CAACE,YAAY,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE;QAC9EP,UAAU,CAACC,UAAU,EAAE,CAACH,QAAQ,CAACA,QAAQ,CAAC,CAACU,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;MACzD;IACF;EAAC;IAAArB,GAAA;IAAAC,KAAA,EAED,SAAAqB,mBAAA,EAAqB;MACnB,IAAI,CAACb,YAAY,EAAE;IACrB;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAAsB,kBAAA,EAAoB;MAClB,IAAI,CAACd,YAAY,EAAE;IACrB;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAAuB,UAAUC,CAAC,EAAEC,CAAC,EAAE;MAAA,IAAAC,IAAA,EAAAC,IAAA,EAAAC,KAAA,EAAAC,KAAA;MACd,IAAMC,IAAI,GAAG,IAAI,CAACC,OAAO;MACzB,IAAAC,cAAA,GAiBI,IAAI,CAAC3B,OAAO;QAhBd4B,MAAM,GAAAD,cAAA,CAANC,MAAM;QACNC,KAAK,GAAAF,cAAA,CAALE,KAAK;QACL5B,CAAC,GAAA0B,cAAA,CAAD1B,CAAC;QACDrB,CAAC,GAAA+C,cAAA,CAAD/C,CAAC;QACDkD,EAAE,GAAAH,cAAA,CAAFG,EAAE;QACFC,KAAK,GAAAJ,cAAA,CAALI,KAAK;QACLC,IAAI,GAAAL,cAAA,CAAJK,IAAI;QACIC,WAAW,GAAAN,cAAA,CAAnBO,MAAM;QACN7B,QAAQ,GAAAsB,cAAA,CAARtB,QAAQ;QACRC,GAAG,GAAAqB,cAAA,CAAHrB,GAAG;QACH6B,CAAC,GAAAR,cAAA,CAADQ,CAAC;QACDC,IAAI,GAAAT,cAAA,CAAJS,IAAI;QACGC,UAAU,GAAAV,cAAA,CAAjBW,KAAK;QACLC,QAAQ,GAAAZ,cAAA,CAARY,QAAQ;QACRC,OAAO,GAAAb,cAAA,CAAPa,OAAO;QACPC,WAAW,GAAAd,cAAA,CAAXc,WAAW;MAEb,IAAMP,MAAM,GAAG,OAAOD,WAAW,KAAK,UAAU,GAAGA,WAAW,CAACb,CAAC,CAAC,GAAGa,WAAW;MAC/E,IAAAS,MAAA,OAAAC,eAAA,aAAyBZ,KAAK;QAAvBa,MAAM,GAAAF,MAAA;QAAEG,MAAM,GAAAH,MAAA;MACrB,IAAMI,SAAS,GAAGC,IAAI,CAACC,GAAG,CACxBH,MAAM,CAAC1B,CAAC,CAACvC,CAAC,CAAC,CAAC,GAAGmE,IAAI,CAACE,GAAG,CAACJ,MAAM,CAACA,MAAM,CAACK,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAEL,MAAM,EAAAvB,IAAA,GAACH,CAAC,CAACW,EAAE,CAAC,cAAAR,IAAA,cAAAA,IAAA,GAAI,CAAC,CAAC,CAAC,CACxE;MACD,IAAMxC,MAAM,GAAGqE,MAAM,CAAChC,CAAC,CAACvC,CAAC,CAAC,KAAA2C,KAAA,GAAIJ,CAAC,CAACW,EAAE,CAAC,cAAAP,KAAA,cAAAA,KAAA,GAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAGwB,IAAI,CAACK,GAAG,CAACN,SAAS,EAAEV,IAAI,CAAC;MAChF,IAAME,KAAK,GAAGD,UAAU,IAAI,IAAAgB,mBAAY,EAACT,MAAM,CAAC;MAChD,IAAMU,IAAI,GAAGV,MAAM,CAACzB,CAAC,CAAClB,CAAC,CAAC,CAAC,GAAGiC,MAAM,CAAC,CAAC,CAAC;MACrC,IAAMqB,IAAI,GACRV,MAAM,CAACE,IAAI,CAACK,GAAG,EAAA5B,KAAA,GAACL,CAAC,CAACW,EAAE,CAAC,cAAAN,KAAA,cAAAA,KAAA,GAAI,CAAC,EAAE1C,MAAM,IAAIsD,IAAI,IAAIjB,CAAC,CAACvC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAGuC,CAAC,CAACvC,CAAC,CAAC,CAAC,CAAC,GACnEsD,MAAM,CAAC,CAAC,CAAC,GACTvD,YAAY,CAACwC,CAAC,CAACvC,CAAC,CAAC,EAAEwD,IAAI,EAAEtD,MAAM,CAAC;MAClC,IAAM0E,WAAW,GAAG,SAAdA,WAAWA,CAAIC,KAAK;QAAA,OAAKjB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAGrB,CAAC,EAAEsC,KAAK,CAAC;MAAA;MAClD,IAAMC,IAAI,GAAGC,OAAO,CAAC;QACnB1D,CAAC,EAAEqD,IAAI;QACP1E,CAAC,EAAE2E,IAAI;QACPjB,KAAK,EAALA,KAAK;QACLxD,MAAM,EAANA,MAAM;QACN8E,MAAM,EAAEC,KAAK,CAACC,OAAO,CAAC3B,CAAC,CAAC,GAAGA,CAAC,CAACf,CAAC,CAAC,GAAGe,CAAC;QACnC4B,QAAQ,EAAE5C,CAAC,CAACvC,CAAC,CAAC,GAAG,CAAC,IAAIG,MAAM,CAACC,EAAE,CAACmC,CAAC,CAACvC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG;MACrD,CAAC,CAAC;MAEF,IAAI2D,QAAQ,EAAE;QACZ,IAAI,CAACvC,OAAO,CAACgE,gBAAgB,CAACC,qBAAqB,CAAC1B,QAAQ,EAAE3D,CAAC,CAAC;MAClE,CAAC,MAAM;QACL,IAAI,CAACoB,OAAO,CAACgE,gBAAgB,CAACE,mBAAmB,IAAAvD,MAAA,CAAIS,CAAC,OAAAT,MAAA,CAAI/B,CAAC,GAAI2D,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAIpB,CAAC,CAAClB,CAAC,CAAC,CAAC;MAClF;MAEA,OAAAoB,IAAA,GAAO,IAAA9C,aAAO,EAACqD,MAAM,CAAC,eACpB7D,MAAA,YAAAoG,aAAA,CAAC1C,IAAI,EAAAJ,IAAA,CAAA+C,EAAA;QAAA;QAAA,cAAAzD,MAAA,CAESS,CAAC;QAAA,UACN,MAAM;QAAA,oBAAAT,MAAA,CACKL,GAAG;QAAA,kBACL,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC;QAAA,oBAC9C,OAAO;QAAA,SACjBa,CAAC;QAAA,SACDC,CAAC;QAAA,QACFY,IAAI;QAAA,SACHH,KAAK;QAAA,KACTyB,IAAI;QAAA,KACJC,IAAI;QAAA,SACAjB,KAAK;QAAA,UACJxD,MAAM;QAAA,KACX4E,IAAI;QAAA,kBACSF,WAAW;QAAA,mBAAA7C,MAAA,CACVN,QAAQ;QAAA,eACZoC;MAAW,GACxB;IAEN;EAAC;IAAA/C,GAAA;IAAAC,KAAA,EACD,SAAA0E,OAAA,EAAS;MACP,IAAAC,cAAA,GAAsC,IAAI,CAACtE,OAAO;QAA1CE,IAAI,GAAAoE,cAAA,CAAJpE,IAAI;QAAEI,GAAG,GAAAgE,cAAA,CAAHhE,GAAG;QAAEiE,IAAI,GAAAD,cAAA,CAAJC,IAAI;QAAElE,QAAQ,GAAAiE,cAAA,CAARjE,QAAQ;MACjC,oBACEtC,MAAA,YAAAoG,aAAA,CAAApG,MAAA,YAAAyG,QAAA,QACGtE,IAAI,CAACuE,GAAG,CAAC,IAAI,CAACvD,SAAS,CAACwD,IAAI,CAAC,IAAI,CAAC,CAAC,EACnCrE,QAAQ,iBACPtC,MAAA,YAAAoG,aAAA,CAAC/F,SAAA,WAAQ;QACP,mBAAW;QACXsB,GAAG,KAAAiB,MAAA,CAAKL,GAAG,eAAa;QACxBqE,EAAE,EAAErE,GAAI;QACRL,CAAC,EAAC,GAAG;QACLrB,CAAC,EAAE2F,IAAI,CAAC,CAAC,CAAE;QACXjC,KAAK,EAAEiC,IAAI,CAAC,CAAC,CAAE;QACfzF,MAAM,KAAA6B,MAAA,CAAK4D,IAAI,CAAC,CAAC,CAAC;MAAK,EAE1B,CACA;IAEP;EAAC;EAAA,OAAAtF,OAAA;AAAA,EA/HmB2F,eAAS;AAAA,IAAAC,gBAAA,aAAzB5F,OAAO,iBACU,KAAK;AAAA,IAAA4F,gBAAA,aADtB5F,OAAO,WAEIX,KAAK;AAAA,IAAAuG,gBAAA,aAFhB5F,OAAO,aAGM,CAAC,IAAA6F,oBAAmB,GAAE,CAAC;AAAA,IAAAD,gBAAA,aAHpC5F,OAAO,kBAKW;EACpBiD,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EACd7B,QAAQ,EAAE,GAAG;EACb8B,CAAC,EAAE,CAAC;EACJC,IAAI,EAAE3D;AACR,CAAC;AAwHH,SAASsG,UAAUA,CAACC,KAAK,EAAE;EAAA,IAAAC,KAAA;EACzB,IAAiBC,WAAW,GAA2BF,KAAK,CAApDtD,OAAO;IAAeE,MAAM,GAAmBoD,KAAK,CAA9BpD,MAAM;IAAEG,KAAK,GAAYiD,KAAK,CAAtBjD,KAAK;IAAEpC,KAAK,GAAKqF,KAAK,CAAfrF,KAAK;EAElD,IAAAwF,OAAA,OAAAxC,eAAA,aAAyBZ,KAAK;IAAvBa,MAAM,GAAAuC,OAAA;IAAEtC,MAAM,GAAAsC,OAAA;EACrB,IAAMC,MAAM,GAAGvC,MAAM,CAACwC,KAAK,EAAE;EAE7B,OAAAJ,KAAA,GAAO,IAAA1G,aAAO,EAACqD,MAAM,CAAC,eACpB7D,MAAA,YAAAoG,aAAA,CAACe,WAAW,EAAAD,KAAA,CAAAb,EAAA;IAAA;IAAA,UAEH,MAAM;IAAA,oBACI,OAAO;IAAA,SACjBxB,MAAM,CAAC0C,SAAS,EAAE;IAAA,UACjBF,MAAM,CAAC,CAAC,CAAC,GAAGA,MAAM,CAAC,CAAC,CAAC;IAAA,KAC1BxC,MAAM,CAACjD,KAAK,CAAC;IAAA,KACbyF,MAAM,CAAC,CAAC;EAAC,GACZ;AAEN;AAEA,SAASzB,OAAOA,CAAA4B,KAAA,EAA4C;EAAA,IAAzCtF,CAAC,GAAAsF,KAAA,CAADtF,CAAC;IAAErB,CAAC,GAAA2G,KAAA,CAAD3G,CAAC;IAAE0D,KAAK,GAAAiD,KAAA,CAALjD,KAAK;IAAExD,MAAM,GAAAyG,KAAA,CAANzG,MAAM;IAAE8E,MAAM,GAAA2B,KAAA,CAAN3B,MAAM;IAAEG,QAAQ,GAAAwB,KAAA,CAARxB,QAAQ;EACtD,IAAIjF,MAAM,GAAG8E,MAAM,EAAEA,MAAM,GAAG9E,MAAM;EACpC,IAAI8E,MAAM,EAAE;IACV,IAAIG,QAAQ,KAAK,KAAK,EACpB,OAAO,IAAAyB,kBAAW,EAACvF,CAAC,EAAErB,CAAC,EAAE0D,KAAK,EAAExD,MAAM,EAAE8E,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;IAC3E,OAAO,IAAA4B,kBAAW,EAACvF,CAAC,EAAErB,CAAC,EAAE0D,KAAK,EAAExD,MAAM,EAAE8E,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;EAC3E;EACA,OAAO,IAAA4B,kBAAW,EAACvF,CAAC,EAAErB,CAAC,EAAE0D,KAAK,EAAExD,MAAM,EAAE8E,MAAM,CAAC;AACjD;AAAC,IAAA6B,QAAA,GAEc,IAAAtB,yBAAa,EAAClF,OAAO,EAAE;EAAE8F,UAAU,EAAVA;AAAW,CAAC,CAAC;AAAArG,OAAA,cAAA+G,QAAA"}
|
package/lib/cjs/Bubble.js
CHANGED
|
@@ -23,17 +23,18 @@ var _uniqueID = _interopRequireDefault(require("@semcore/utils/lib/uniqueID"));
|
|
|
23
23
|
var _createElement = _interopRequireDefault(require("./createElement"));
|
|
24
24
|
var _ClipPath = _interopRequireDefault(require("./ClipPath"));
|
|
25
25
|
var _utils = require("./utils");
|
|
26
|
+
var _Tooltip = _interopRequireDefault(require("./Tooltip"));
|
|
26
27
|
/*__reshadow-styles__:"./style/bubble.shadow.css"*/
|
|
27
|
-
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
|
28
|
-
"__SBubble": "
|
|
29
|
-
"--duration": "--
|
|
30
|
-
"_color": "
|
|
31
|
-
"--color": "--
|
|
32
|
-
"_transparent": "
|
|
33
|
-
"__SCenter": "
|
|
34
|
-
"__SLabel": "
|
|
35
|
-
"_position_right": "
|
|
36
|
-
"_position_left": "
|
|
28
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SBubble_1fggl_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);stroke:var(--intergalactic-chart-grid-border, #ffffff);stroke-width:2px;transition-property:cx,cy;transition-duration:var(--duration_1fggl);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SBubble_1fggl_gg_:hover{opacity:.8}}.___SBubble_1fggl_gg_.__color_1fggl_gg_{fill:var(--color_1fggl)}.___SBubble_1fggl_gg_.__transparent_1fggl_gg_{opacity:.3}.___SCenter_1fggl_gg_{text-anchor:middle;font-size:calc(var(--intergalactic-fs-100, 12px) - 1px);stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SCenter_1fggl_gg_.__color_1fggl_gg_{stroke:var(--color_1fggl)}.___SCenter_1fggl_gg_.__transparent_1fggl_gg_{opacity:.3}.___SLabel_1fggl_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SLabel_1fggl_gg_._position_right_1fggl_gg_{text-anchor:end}.___SLabel_1fggl_gg_._position_left_1fggl_gg_{text-anchor:start}.___SLabel_1fggl_gg_.__color_1fggl_gg_{fill:var(--color_1fggl)}.___SLabel_1fggl_gg_.__transparent_1fggl_gg_{opacity:.3}" /*__inner_css_end__*/, "1fggl_gg_") /*__reshadow_css_end__*/, {
|
|
29
|
+
"__SBubble": "___SBubble_1fggl_gg_",
|
|
30
|
+
"--duration": "--duration_1fggl",
|
|
31
|
+
"_color": "__color_1fggl_gg_",
|
|
32
|
+
"--color": "--color_1fggl",
|
|
33
|
+
"_transparent": "__transparent_1fggl_gg_",
|
|
34
|
+
"__SCenter": "___SCenter_1fggl_gg_",
|
|
35
|
+
"__SLabel": "___SLabel_1fggl_gg_",
|
|
36
|
+
"_position_right": "_position_right_1fggl_gg_",
|
|
37
|
+
"_position_left": "_position_left_1fggl_gg_"
|
|
37
38
|
});
|
|
38
39
|
var BubbleRoot = /*#__PURE__*/function (_Component) {
|
|
39
40
|
(0, _inherits2["default"])(BubbleRoot, _Component);
|
|
@@ -140,10 +141,12 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
|
|
|
140
141
|
return _ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement("g", _ref.cn("g", {
|
|
141
142
|
"key": "circle(#".concat(i, ")"),
|
|
142
143
|
"onMouseMove": this.bindHandlerTooltip(true, (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, this.props), {}, {
|
|
143
|
-
xIndex: i
|
|
144
|
+
xIndex: i,
|
|
145
|
+
index: i
|
|
144
146
|
})),
|
|
145
147
|
"onMouseLeave": this.bindHandlerTooltip(false, (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, this.props), {}, {
|
|
146
|
-
xIndex: i
|
|
148
|
+
xIndex: i,
|
|
149
|
+
index: i
|
|
147
150
|
}))
|
|
148
151
|
}), markedCross && /*#__PURE__*/_react["default"].createElement(SCenter, _ref.cn("SCenter", {
|
|
149
152
|
"aria-hidden": true,
|
|
@@ -215,7 +218,9 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
|
|
|
215
218
|
duration: 500,
|
|
216
219
|
markedCross: true
|
|
217
220
|
});
|
|
218
|
-
var Bubble = (0, _createElement["default"])(BubbleRoot
|
|
221
|
+
var Bubble = (0, _createElement["default"])(BubbleRoot, {
|
|
222
|
+
Tooltip: _Tooltip["default"]
|
|
223
|
+
});
|
|
219
224
|
var _default = Bubble;
|
|
220
225
|
exports["default"] = _default;
|
|
221
226
|
//# sourceMappingURL=Bubble.js.map
|
package/lib/cjs/Bubble.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bubble.js","names":["_core","require","_react","_interopRequireDefault","_d3Scale","_d3Transition","_canUseDOM","_uniqueID","_createElement","_ClipPath","_utils","style","sstyled","insert","BubbleRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","canUseDOM","document","createElement","visible","props","_ref2","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","_createClass2","key","value","undefined","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","data","z","scaleSqrt","domain","Math","max","_toConsumableArray2","map","el","range","selectRect","transition","selection","selectAll","attr","selectRectNode","node","_","ind","componentDidUpdate","componentDidMount","renderCircle","d","i","_ref","_d$color","_this$asProps2","color","scale","offset","styles","label","markedCross","size","transparent","_scale","_slicedToArray2","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","min","labelPosition","measureText","labelDistance","cn","bindHandlerTooltip","_objectSpread2","xIndex","render","_this$asProps3","_scale2","xSize","abs","ySize","xMargin","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","bind","id","Component","uniqueIDEnhancement","Bubble","_default","exports"],"sources":["../../src/Bubble.jsx"],"sourcesContent":["import React from 'react';\nimport { scaleSqrt } from 'd3-scale';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport ClipPath from './ClipPath';\nimport { CONSTANT, measureText } from './utils';\n\nimport style from './style/bubble.shadow.css';\n\nclass BubbleRoot extends Component {\n static displayName = 'Bubble';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n markedCross: true,\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 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 animationCircle() {\n const { duration, uid, data, value } = this.asProps;\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const selectRect = transition().selection().selectAll(`[id^=${uid}${uid}]`).attr('r', 0);\n\n const selectRectNode = selectRect.node();\n if (duration > 0 && selectRectNode) {\n selectRect\n .transition()\n .duration(duration)\n .attr('r', function (_, ind) {\n return z(data[ind][value]);\n });\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n offset,\n styles,\n uid,\n duration,\n value,\n label,\n markedCross,\n size,\n data,\n transparent,\n } = this.asProps;\n const [xScale, yScale] = scale;\n\n const SBubble = this.Element;\n const SCenter = 'text';\n const SLabel = 'text';\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const margin = Math.min(xScale.range()[0], xScale.range()[1]);\n\n const labelPosition =\n size[0] - 2 * margin - (xScale(d[x]) + offset[0] + z(d[value])) < measureText(d[label])\n ? 'right'\n : 'left';\n const labelDistance = {\n right: xScale(d[x]) + offset[0] - z(d[value]),\n left: xScale(d[x]) + offset[0] + z(d[value]),\n }[labelPosition];\n\n return sstyled(styles)(\n <g\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, { ...this.props, xIndex: i })}\n onMouseLeave={this.bindHandlerTooltip(false, { ...this.props, xIndex: i })}\n >\n {markedCross && (\n <SCenter\n aria-hidden\n x={xScale(d[x]) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n color={d[color] ?? color}\n transparent={transparent}\n >\n +\n </SCenter>\n )}\n <SBubble\n aria-hidden\n id={`${uid}${uid}`}\n index={i}\n render='circle'\n clipPath={`url(#${uid})`}\n cx={xScale(d[x]) + offset[0]}\n cy={yScale(d[y]) + offset[1]}\n color={d[color]}\n r={z(d[value])}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {d[label] && (\n <SLabel\n aria-hidden\n x={labelDistance}\n y={yScale(d[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n position={labelPosition}\n color={d[color]}\n transparent={transparent}\n >\n {d[label]}\n </SLabel>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale, x, y, value } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);\n this.asProps.dataHintsHandler.establishDataType('points-cloud');\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n {data.map(this.animationCircle.bind(this))}\n <ClipPath\n aria-hidden\n id={uid}\n x={xMargin}\n y={yMargin}\n width={`${xSize}px`}\n height={`${ySize}px`}\n />\n </>\n );\n }\n}\n\nconst Bubble = createElement(BubbleRoot);\n\nexport default Bubble;\n"],"mappings":";;;;;;;;;;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAHA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAEA,IAAAK,UAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,SAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,cAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,SAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AAAgD;AAAA,IAAAU,KAAA,+BAAAX,KAAA,CAAAY,OAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAAA,IAI1CC,UAAU,0BAAAC,UAAA;EAAA,IAAAC,UAAA,aAAAF,UAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,OAAAC,aAAA,aAAAJ,UAAA;EAAA,SAAAA,WAAA;IAAA,IAAAK,KAAA;IAAA,IAAAC,gBAAA,mBAAAN,UAAA;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAF,MAAA,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;IAAA,IAAAM,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,qBAWG,IAAAa,qBAAS,GAAE,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAA,IAAAJ,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,yBAM5C,UAACgB,OAAO,EAAEC,KAAK;MAAA,OAAK,UAAAC,KAAA,EAAgC;QAAA,IAApBC,CAAC,GAAAD,KAAA,CAAVE,OAAO;UAAcC,CAAC,GAAAH,KAAA,CAAVI,OAAO;QAC7D,IAAQC,YAAY,GAAKvB,KAAA,CAAKwB,OAAO,CAA7BD,YAAY;QACpBvB,KAAA,CAAKyB,cAAc,CAACC,qBAAqB,GAAG1B,KAAA,CAAK2B,6BAA6B,CAACR,CAAC,EAAEE,CAAC,CAAC;QACpFrB,KAAA,CAAKyB,cAAc,CAACG,eAAQ,CAACC,eAAe,CAAC,GAAG,IAAI;QACpDN,YAAY,CAACO,IAAI,CAAC,kBAAkB,EAAEd,OAAO,EAAEC,KAAK,EAAEjB,KAAA,CAAKyB,cAAc,CAAC;MAC5E,CAAC;IAAA;IAAA,OAAAzB,KAAA;EAAA;EAAA,IAAA+B,aAAA,aAAApC,UAAA;IAAAqC,GAAA;IAAAC,KAAA,EATD,SAAAN,8BAAA,EAA4C;MAAA,IAAdR,CAAC,GAAAhB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA+B,SAAA,GAAA/B,SAAA,MAAG,CAAC;MAAA,IAAEkB,CAAC,GAAAlB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA+B,SAAA,GAAA/B,SAAA,MAAG,CAAC;MACxC,OAAO;QAAA,OAAO;UAAEgC,KAAK,EAAE,CAAC;UAAEC,MAAM,EAAE,CAAC;UAAEC,GAAG,EAAEhB,CAAC;UAAEiB,KAAK,EAAEnB,CAAC;UAAEoB,MAAM,EAAElB,CAAC;UAAEmB,IAAI,EAAErB;QAAE,CAAC;MAAA,CAAC;IAC9E;EAAC;IAAAa,GAAA;IAAAC,KAAA,EASD,SAAAQ,gBAAA,EAAkB;MAChB,IAAAC,aAAA,GAAuC,IAAI,CAAClB,OAAO;QAA3CmB,QAAQ,GAAAD,aAAA,CAARC,QAAQ;QAAEC,GAAG,GAAAF,aAAA,CAAHE,GAAG;QAAEC,IAAI,GAAAH,aAAA,CAAJG,IAAI;QAAEZ,KAAK,GAAAS,aAAA,CAALT,KAAK;MAClC,IAAMa,CAAC,GAAG,IAAAC,kBAAS,GAAE,CAClBC,MAAM,CAAC,CAAC,CAAC,EAAEC,IAAI,CAACC,GAAG,CAAAzC,KAAA,CAARwC,IAAI,MAAAE,mBAAA,aAAQN,IAAI,CAACO,GAAG,CAAC,UAACC,EAAE;QAAA,OAAKA,EAAE,CAACpB,KAAK,CAAC;MAAA,EAAC,EAAC,CAAC,CAAC,CACrDqB,KAAK,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;MAErB,IAAMC,UAAU,GAAG,IAAAC,wBAAU,GAAE,CAACC,SAAS,EAAE,CAACC,SAAS,SAAAhD,MAAA,CAASkC,GAAG,EAAAlC,MAAA,CAAGkC,GAAG,OAAI,CAACe,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;MAExF,IAAMC,cAAc,GAAGL,UAAU,CAACM,IAAI,EAAE;MACxC,IAAIlB,QAAQ,GAAG,CAAC,IAAIiB,cAAc,EAAE;QAClCL,UAAU,CACPC,UAAU,EAAE,CACZb,QAAQ,CAACA,QAAQ,CAAC,CAClBgB,IAAI,CAAC,GAAG,EAAE,UAAUG,CAAC,EAAEC,GAAG,EAAE;UAC3B,OAAOjB,CAAC,CAACD,IAAI,CAACkB,GAAG,CAAC,CAAC9B,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC;MACN;IACF;EAAC;IAAAD,GAAA;IAAAC,KAAA,EAED,SAAA+B,mBAAA,EAAqB;MACnB,IAAI,CAACvB,eAAe,EAAE;IACxB;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAAgC,kBAAA,EAAoB;MAClB,IAAI,CAACxB,eAAe,EAAE;IACxB;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAAiC,aAAaC,CAAC,EAAEC,CAAC,EAAE;MAAA,IAAAC,IAAA,EAAAC,QAAA;MACjB,IAAAC,cAAA,GAeI,IAAI,CAAC/C,OAAO;QAddgD,KAAK,GAAAD,cAAA,CAALC,KAAK;QACLC,KAAK,GAAAF,cAAA,CAALE,KAAK;QACLtD,CAAC,GAAAoD,cAAA,CAADpD,CAAC;QACDE,CAAC,GAAAkD,cAAA,CAADlD,CAAC;QACDqD,MAAM,GAAAH,cAAA,CAANG,MAAM;QACNC,MAAM,GAAAJ,cAAA,CAANI,MAAM;QACN/B,GAAG,GAAA2B,cAAA,CAAH3B,GAAG;QACHD,QAAQ,GAAA4B,cAAA,CAAR5B,QAAQ;QACRV,KAAK,GAAAsC,cAAA,CAALtC,KAAK;QACL2C,KAAK,GAAAL,cAAA,CAALK,KAAK;QACLC,WAAW,GAAAN,cAAA,CAAXM,WAAW;QACXC,IAAI,GAAAP,cAAA,CAAJO,IAAI;QACJjC,IAAI,GAAA0B,cAAA,CAAJ1B,IAAI;QACJkC,WAAW,GAAAR,cAAA,CAAXQ,WAAW;MAEb,IAAAC,MAAA,OAAAC,eAAA,aAAyBR,KAAK;QAAvBS,MAAM,GAAAF,MAAA;QAAEG,MAAM,GAAAH,MAAA;MAErB,IAAMI,OAAO,GAAG,IAAI,CAACC,OAAO;MAC5B,IAAMC,OAAO,GAAG,MAAM;MACtB,IAAMC,MAAM,GAAG,MAAM;MACrB,IAAMzC,CAAC,GAAG,IAAAC,kBAAS,GAAE,CAClBC,MAAM,CAAC,CAAC,CAAC,EAAEC,IAAI,CAACC,GAAG,CAAAzC,KAAA,CAARwC,IAAI,MAAAE,mBAAA,aAAQN,IAAI,CAACO,GAAG,CAAC,UAACC,EAAE;QAAA,OAAKA,EAAE,CAACpB,KAAK,CAAC;MAAA,EAAC,EAAC,CAAC,CAAC,CACrDqB,KAAK,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;MAErB,IAAMkC,MAAM,GAAGvC,IAAI,CAACwC,GAAG,CAACP,MAAM,CAAC5B,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE4B,MAAM,CAAC5B,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAE7D,IAAMoC,aAAa,GACjBZ,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAGU,MAAM,IAAIN,MAAM,CAACf,CAAC,CAAChD,CAAC,CAAC,CAAC,GAAGuD,MAAM,CAAC,CAAC,CAAC,GAAG5B,CAAC,CAACqB,CAAC,CAAClC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAA0D,kBAAW,EAACxB,CAAC,CAACS,KAAK,CAAC,CAAC,GACnF,OAAO,GACP,MAAM;MACZ,IAAMgB,aAAa,GAAG;QACpBtD,KAAK,EAAE4C,MAAM,CAACf,CAAC,CAAChD,CAAC,CAAC,CAAC,GAAGuD,MAAM,CAAC,CAAC,CAAC,GAAG5B,CAAC,CAACqB,CAAC,CAAClC,KAAK,CAAC,CAAC;QAC7CO,IAAI,EAAE0C,MAAM,CAACf,CAAC,CAAChD,CAAC,CAAC,CAAC,GAAGuD,MAAM,CAAC,CAAC,CAAC,GAAG5B,CAAC,CAACqB,CAAC,CAAClC,KAAK,CAAC;MAC7C,CAAC,CAACyD,aAAa,CAAC;MAEhB,OAAArB,IAAA,GAAO,IAAA5E,aAAO,EAACkF,MAAM,CAAC,eACpB5F,MAAA,YAAAgC,aAAA,MAAAsD,IAAA,CAAAwB,EAAA;QAAA,kBAAAnF,MAAA,CACkB0D,CAAC;QAAA,eACJ,IAAI,CAAC0B,kBAAkB,CAAC,IAAI,MAAAC,cAAA,iBAAAA,cAAA,iBAAO,IAAI,CAAC9E,KAAK;UAAE+E,MAAM,EAAE5B;QAAC,GAAG;QAAA,gBAC1D,IAAI,CAAC0B,kBAAkB,CAAC,KAAK,MAAAC,cAAA,iBAAAA,cAAA,iBAAO,IAAI,CAAC9E,KAAK;UAAE+E,MAAM,EAAE5B;QAAC;MAAG,IAEzES,WAAW,iBACV9F,MAAA,YAAAgC,aAAA,CAACuE,OAAO,EAAAjB,IAAA,CAAAwB,EAAA;QAAA;QAAA,KAEHX,MAAM,CAACf,CAAC,CAAChD,CAAC,CAAC,CAAC,GAAGuD,MAAM,CAAC,CAAC,CAAC;QAAA,KACxBS,MAAM,CAAChB,CAAC,CAAC9C,CAAC,CAAC,CAAC,GAAGqD,MAAM,CAAC,CAAC,CAAC;QAAA,MACxB,MAAM;QAAA,oBAAAhE,MAAA,CACSkC,GAAG;QAAA,UAAA0B,QAAA,GACdH,CAAC,CAACK,KAAK,CAAC,cAAAF,QAAA,cAAAA,QAAA,GAAIE,KAAK;QAAA,eACXO;MAAW,IACzB,GAED,CACD,eACDhG,MAAA,YAAAgC,aAAA,CAACqE,OAAO,EAAAf,IAAA,CAAAwB,EAAA;QAAA;QAAA,SAAAnF,MAAA,CAECkC,GAAG,EAAAlC,MAAA,CAAGkC,GAAG;QAAA,SACTwB,CAAC;QAAA,UACD,QAAQ;QAAA,oBAAA1D,MAAA,CACGkC,GAAG;QAAA,MACjBsC,MAAM,CAACf,CAAC,CAAChD,CAAC,CAAC,CAAC,GAAGuD,MAAM,CAAC,CAAC,CAAC;QAAA,MACxBS,MAAM,CAAChB,CAAC,CAAC9C,CAAC,CAAC,CAAC,GAAGqD,MAAM,CAAC,CAAC,CAAC;QAAA,SACrBP,CAAC,CAACK,KAAK,CAAC;QAAA,KACZ1B,CAAC,CAACqB,CAAC,CAAClC,KAAK,CAAC,CAAC;QAAA,mBAAAvB,MAAA,CACGiC,QAAQ;QAAA,eACZoC;MAAW,GACxB,EACDZ,CAAC,CAACS,KAAK,CAAC,iBACP7F,MAAA,YAAAgC,aAAA,CAACwE,MAAM,EAAAlB,IAAA,CAAAwB,EAAA;QAAA;QAAA,KAEFD,aAAa;QAAA,KACbT,MAAM,CAAChB,CAAC,CAAC9C,CAAC,CAAC,CAAC,GAAGqD,MAAM,CAAC,CAAC,CAAC;QAAA,MACxB,MAAM;QAAA,oBAAAhE,MAAA,CACSkC,GAAG;QAAA,YACX8C,aAAa;QAAA,SAChBvB,CAAC,CAACK,KAAK,CAAC;QAAA,eACFO;MAAW,IAEvBZ,CAAC,CAACS,KAAK,CAAC,CAEZ,CACC;IAER;EAAC;IAAA5C,GAAA;IAAAC,KAAA,EAED,SAAAgE,OAAA,EAAS;MACP,IAAAC,cAAA,GAA0C,IAAI,CAAC1E,OAAO;QAA9CqB,IAAI,GAAAqD,cAAA,CAAJrD,IAAI;QAAED,GAAG,GAAAsD,cAAA,CAAHtD,GAAG;QAAE6B,KAAK,GAAAyB,cAAA,CAALzB,KAAK;QAAEtD,CAAC,GAAA+E,cAAA,CAAD/E,CAAC;QAAEE,CAAC,GAAA6E,cAAA,CAAD7E,CAAC;QAAEY,KAAK,GAAAiE,cAAA,CAALjE,KAAK;MACrC,IAAAkE,OAAA,OAAAlB,eAAA,aAAyBR,KAAK;QAAvBS,MAAM,GAAAiB,OAAA;QAAEhB,MAAM,GAAAgB,OAAA;MACrB,IAAMC,KAAK,GAAGnD,IAAI,CAACoD,GAAG,CAACnB,MAAM,CAAC5B,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG4B,MAAM,CAAC5B,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAC7D,IAAMgD,KAAK,GAAGrD,IAAI,CAACoD,GAAG,CAAClB,MAAM,CAAC7B,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG6B,MAAM,CAAC7B,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAC7D,IAAMiD,OAAO,GAAGtD,IAAI,CAACwC,GAAG,CAACP,MAAM,CAAC5B,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE4B,MAAM,CAAC5B,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAC9D,IAAMkD,OAAO,GAAGvD,IAAI,CAACwC,GAAG,CAACN,MAAM,CAAC7B,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE6B,MAAM,CAAC7B,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAE9D,IAAI,CAAC9B,OAAO,CAACiF,gBAAgB,CAACC,oBAAoB,CAACvF,CAAC,EAAEE,CAAC,EAAEY,KAAK,CAAC;MAC/D,IAAI,CAACT,OAAO,CAACiF,gBAAgB,CAACE,iBAAiB,CAAC,cAAc,CAAC;MAE/D,oBACE5H,MAAA,YAAAgC,aAAA,CAAAhC,MAAA,YAAA6H,QAAA,QACG/D,IAAI,CAACO,GAAG,CAAC,IAAI,CAACc,YAAY,CAAC2C,IAAI,CAAC,IAAI,CAAC,CAAC,EACtChE,IAAI,CAACO,GAAG,CAAC,IAAI,CAACX,eAAe,CAACoE,IAAI,CAAC,IAAI,CAAC,CAAC,eAC1C9H,MAAA,YAAAgC,aAAA,CAACzB,SAAA,WAAQ;QACP,mBAAW;QACXwH,EAAE,EAAElE,GAAI;QACRzB,CAAC,EAAEoF,OAAQ;QACXlF,CAAC,EAAEmF,OAAQ;QACXrE,KAAK,KAAAzB,MAAA,CAAK0F,KAAK,OAAK;QACpBhE,MAAM,KAAA1B,MAAA,CAAK4F,KAAK;MAAK,EACrB,CACD;IAEP;EAAC;EAAA,OAAA3G,UAAA;AAAA,EAnKsBoH,eAAS;AAAA,IAAApG,gBAAA,aAA5BhB,UAAU,iBACO,QAAQ;AAAA,IAAAgB,gBAAA,aADzBhB,UAAU,WAECH,KAAK;AAAA,IAAAmB,gBAAA,aAFhBhB,UAAU,aAGG,CAAC,IAAAqH,oBAAmB,GAAE,CAAC;AAAA,IAAArG,gBAAA,aAHpChB,UAAU,kBAKQ;EACpB+E,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EACd/B,QAAQ,EAAE,GAAG;EACbkC,WAAW,EAAE;AACf,CAAC;AA6JH,IAAMoC,MAAM,GAAG,IAAAlG,yBAAa,EAACpB,UAAU,CAAC;AAAC,IAAAuH,QAAA,GAE1BD,MAAM;AAAAE,OAAA,cAAAD,QAAA"}
|
|
1
|
+
{"version":3,"file":"Bubble.js","names":["_core","require","_react","_interopRequireDefault","_d3Scale","_d3Transition","_canUseDOM","_uniqueID","_createElement","_ClipPath","_utils","_Tooltip","style","sstyled","insert","BubbleRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","canUseDOM","document","createElement","visible","props","_ref2","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","_createClass2","key","value","undefined","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","data","z","scaleSqrt","domain","Math","max","_toConsumableArray2","map","el","range","selectRect","transition","selection","selectAll","attr","selectRectNode","node","_","ind","componentDidUpdate","componentDidMount","renderCircle","d","i","_ref","_d$color","_this$asProps2","color","scale","offset","styles","label","markedCross","size","transparent","_scale","_slicedToArray2","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","min","labelPosition","measureText","labelDistance","cn","bindHandlerTooltip","_objectSpread2","xIndex","index","render","_this$asProps3","_scale2","xSize","abs","ySize","xMargin","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","bind","id","Component","uniqueIDEnhancement","Bubble","Tooltip","_default","exports"],"sources":["../../src/Bubble.jsx"],"sourcesContent":["import React from 'react';\nimport { scaleSqrt } from 'd3-scale';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport ClipPath from './ClipPath';\nimport { CONSTANT, measureText } from './utils';\nimport Tooltip from './Tooltip';\n\nimport style from './style/bubble.shadow.css';\n\nclass BubbleRoot extends Component {\n static displayName = 'Bubble';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n markedCross: true,\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 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 animationCircle() {\n const { duration, uid, data, value } = this.asProps;\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const selectRect = transition().selection().selectAll(`[id^=${uid}${uid}]`).attr('r', 0);\n\n const selectRectNode = selectRect.node();\n if (duration > 0 && selectRectNode) {\n selectRect\n .transition()\n .duration(duration)\n .attr('r', function (_, ind) {\n return z(data[ind][value]);\n });\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n offset,\n styles,\n uid,\n duration,\n value,\n label,\n markedCross,\n size,\n data,\n transparent,\n } = this.asProps;\n const [xScale, yScale] = scale;\n\n const SBubble = this.Element;\n const SCenter = 'text';\n const SLabel = 'text';\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const margin = Math.min(xScale.range()[0], xScale.range()[1]);\n\n const labelPosition =\n size[0] - 2 * margin - (xScale(d[x]) + offset[0] + z(d[value])) < measureText(d[label])\n ? 'right'\n : 'left';\n const labelDistance = {\n right: xScale(d[x]) + offset[0] - z(d[value]),\n left: xScale(d[x]) + offset[0] + z(d[value]),\n }[labelPosition];\n\n return sstyled(styles)(\n <g\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, { ...this.props, xIndex: i, index: i })}\n onMouseLeave={this.bindHandlerTooltip(false, { ...this.props, xIndex: i, index: i })}\n >\n {markedCross && (\n <SCenter\n aria-hidden\n x={xScale(d[x]) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n color={d[color] ?? color}\n transparent={transparent}\n >\n +\n </SCenter>\n )}\n <SBubble\n aria-hidden\n id={`${uid}${uid}`}\n index={i}\n render='circle'\n clipPath={`url(#${uid})`}\n cx={xScale(d[x]) + offset[0]}\n cy={yScale(d[y]) + offset[1]}\n color={d[color]}\n r={z(d[value])}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {d[label] && (\n <SLabel\n aria-hidden\n x={labelDistance}\n y={yScale(d[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n position={labelPosition}\n color={d[color]}\n transparent={transparent}\n >\n {d[label]}\n </SLabel>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale, x, y, value } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);\n this.asProps.dataHintsHandler.establishDataType('points-cloud');\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n {data.map(this.animationCircle.bind(this))}\n <ClipPath\n aria-hidden\n id={uid}\n x={xMargin}\n y={yMargin}\n width={`${xSize}px`}\n height={`${ySize}px`}\n />\n </>\n );\n }\n}\n\nconst Bubble = createElement(BubbleRoot, { Tooltip });\n\nexport default Bubble;\n"],"mappings":";;;;;;;;;;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAHA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAEA,IAAAK,UAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,SAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,cAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,SAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AACA,IAAAU,QAAA,GAAAR,sBAAA,CAAAF,OAAA;AAAgC;AAAA,IAAAW,KAAA,+BAAAZ,KAAA,CAAAa,OAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAAA,IAI1BC,UAAU,0BAAAC,UAAA;EAAA,IAAAC,UAAA,aAAAF,UAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,OAAAC,aAAA,aAAAJ,UAAA;EAAA,SAAAA,WAAA;IAAA,IAAAK,KAAA;IAAA,IAAAC,gBAAA,mBAAAN,UAAA;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAF,MAAA,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;IAAA,IAAAM,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,qBAWG,IAAAa,qBAAS,GAAE,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAA,IAAAJ,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,yBAM5C,UAACgB,OAAO,EAAEC,KAAK;MAAA,OAAK,UAAAC,KAAA,EAAgC;QAAA,IAApBC,CAAC,GAAAD,KAAA,CAAVE,OAAO;UAAcC,CAAC,GAAAH,KAAA,CAAVI,OAAO;QAC7D,IAAQC,YAAY,GAAKvB,KAAA,CAAKwB,OAAO,CAA7BD,YAAY;QACpBvB,KAAA,CAAKyB,cAAc,CAACC,qBAAqB,GAAG1B,KAAA,CAAK2B,6BAA6B,CAACR,CAAC,EAAEE,CAAC,CAAC;QACpFrB,KAAA,CAAKyB,cAAc,CAACG,eAAQ,CAACC,eAAe,CAAC,GAAG,IAAI;QACpDN,YAAY,CAACO,IAAI,CAAC,kBAAkB,EAAEd,OAAO,EAAEC,KAAK,EAAEjB,KAAA,CAAKyB,cAAc,CAAC;MAC5E,CAAC;IAAA;IAAA,OAAAzB,KAAA;EAAA;EAAA,IAAA+B,aAAA,aAAApC,UAAA;IAAAqC,GAAA;IAAAC,KAAA,EATD,SAAAN,8BAAA,EAA4C;MAAA,IAAdR,CAAC,GAAAhB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA+B,SAAA,GAAA/B,SAAA,MAAG,CAAC;MAAA,IAAEkB,CAAC,GAAAlB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA+B,SAAA,GAAA/B,SAAA,MAAG,CAAC;MACxC,OAAO;QAAA,OAAO;UAAEgC,KAAK,EAAE,CAAC;UAAEC,MAAM,EAAE,CAAC;UAAEC,GAAG,EAAEhB,CAAC;UAAEiB,KAAK,EAAEnB,CAAC;UAAEoB,MAAM,EAAElB,CAAC;UAAEmB,IAAI,EAAErB;QAAE,CAAC;MAAA,CAAC;IAC9E;EAAC;IAAAa,GAAA;IAAAC,KAAA,EASD,SAAAQ,gBAAA,EAAkB;MAChB,IAAAC,aAAA,GAAuC,IAAI,CAAClB,OAAO;QAA3CmB,QAAQ,GAAAD,aAAA,CAARC,QAAQ;QAAEC,GAAG,GAAAF,aAAA,CAAHE,GAAG;QAAEC,IAAI,GAAAH,aAAA,CAAJG,IAAI;QAAEZ,KAAK,GAAAS,aAAA,CAALT,KAAK;MAClC,IAAMa,CAAC,GAAG,IAAAC,kBAAS,GAAE,CAClBC,MAAM,CAAC,CAAC,CAAC,EAAEC,IAAI,CAACC,GAAG,CAAAzC,KAAA,CAARwC,IAAI,MAAAE,mBAAA,aAAQN,IAAI,CAACO,GAAG,CAAC,UAACC,EAAE;QAAA,OAAKA,EAAE,CAACpB,KAAK,CAAC;MAAA,EAAC,EAAC,CAAC,CAAC,CACrDqB,KAAK,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;MAErB,IAAMC,UAAU,GAAG,IAAAC,wBAAU,GAAE,CAACC,SAAS,EAAE,CAACC,SAAS,SAAAhD,MAAA,CAASkC,GAAG,EAAAlC,MAAA,CAAGkC,GAAG,OAAI,CAACe,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;MAExF,IAAMC,cAAc,GAAGL,UAAU,CAACM,IAAI,EAAE;MACxC,IAAIlB,QAAQ,GAAG,CAAC,IAAIiB,cAAc,EAAE;QAClCL,UAAU,CACPC,UAAU,EAAE,CACZb,QAAQ,CAACA,QAAQ,CAAC,CAClBgB,IAAI,CAAC,GAAG,EAAE,UAAUG,CAAC,EAAEC,GAAG,EAAE;UAC3B,OAAOjB,CAAC,CAACD,IAAI,CAACkB,GAAG,CAAC,CAAC9B,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC;MACN;IACF;EAAC;IAAAD,GAAA;IAAAC,KAAA,EAED,SAAA+B,mBAAA,EAAqB;MACnB,IAAI,CAACvB,eAAe,EAAE;IACxB;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAAgC,kBAAA,EAAoB;MAClB,IAAI,CAACxB,eAAe,EAAE;IACxB;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAAiC,aAAaC,CAAC,EAAEC,CAAC,EAAE;MAAA,IAAAC,IAAA,EAAAC,QAAA;MACjB,IAAAC,cAAA,GAeI,IAAI,CAAC/C,OAAO;QAddgD,KAAK,GAAAD,cAAA,CAALC,KAAK;QACLC,KAAK,GAAAF,cAAA,CAALE,KAAK;QACLtD,CAAC,GAAAoD,cAAA,CAADpD,CAAC;QACDE,CAAC,GAAAkD,cAAA,CAADlD,CAAC;QACDqD,MAAM,GAAAH,cAAA,CAANG,MAAM;QACNC,MAAM,GAAAJ,cAAA,CAANI,MAAM;QACN/B,GAAG,GAAA2B,cAAA,CAAH3B,GAAG;QACHD,QAAQ,GAAA4B,cAAA,CAAR5B,QAAQ;QACRV,KAAK,GAAAsC,cAAA,CAALtC,KAAK;QACL2C,KAAK,GAAAL,cAAA,CAALK,KAAK;QACLC,WAAW,GAAAN,cAAA,CAAXM,WAAW;QACXC,IAAI,GAAAP,cAAA,CAAJO,IAAI;QACJjC,IAAI,GAAA0B,cAAA,CAAJ1B,IAAI;QACJkC,WAAW,GAAAR,cAAA,CAAXQ,WAAW;MAEb,IAAAC,MAAA,OAAAC,eAAA,aAAyBR,KAAK;QAAvBS,MAAM,GAAAF,MAAA;QAAEG,MAAM,GAAAH,MAAA;MAErB,IAAMI,OAAO,GAAG,IAAI,CAACC,OAAO;MAC5B,IAAMC,OAAO,GAAG,MAAM;MACtB,IAAMC,MAAM,GAAG,MAAM;MACrB,IAAMzC,CAAC,GAAG,IAAAC,kBAAS,GAAE,CAClBC,MAAM,CAAC,CAAC,CAAC,EAAEC,IAAI,CAACC,GAAG,CAAAzC,KAAA,CAARwC,IAAI,MAAAE,mBAAA,aAAQN,IAAI,CAACO,GAAG,CAAC,UAACC,EAAE;QAAA,OAAKA,EAAE,CAACpB,KAAK,CAAC;MAAA,EAAC,EAAC,CAAC,CAAC,CACrDqB,KAAK,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;MAErB,IAAMkC,MAAM,GAAGvC,IAAI,CAACwC,GAAG,CAACP,MAAM,CAAC5B,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE4B,MAAM,CAAC5B,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAE7D,IAAMoC,aAAa,GACjBZ,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAGU,MAAM,IAAIN,MAAM,CAACf,CAAC,CAAChD,CAAC,CAAC,CAAC,GAAGuD,MAAM,CAAC,CAAC,CAAC,GAAG5B,CAAC,CAACqB,CAAC,CAAClC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAA0D,kBAAW,EAACxB,CAAC,CAACS,KAAK,CAAC,CAAC,GACnF,OAAO,GACP,MAAM;MACZ,IAAMgB,aAAa,GAAG;QACpBtD,KAAK,EAAE4C,MAAM,CAACf,CAAC,CAAChD,CAAC,CAAC,CAAC,GAAGuD,MAAM,CAAC,CAAC,CAAC,GAAG5B,CAAC,CAACqB,CAAC,CAAClC,KAAK,CAAC,CAAC;QAC7CO,IAAI,EAAE0C,MAAM,CAACf,CAAC,CAAChD,CAAC,CAAC,CAAC,GAAGuD,MAAM,CAAC,CAAC,CAAC,GAAG5B,CAAC,CAACqB,CAAC,CAAClC,KAAK,CAAC;MAC7C,CAAC,CAACyD,aAAa,CAAC;MAEhB,OAAArB,IAAA,GAAO,IAAA5E,aAAO,EAACkF,MAAM,CAAC,eACpB7F,MAAA,YAAAiC,aAAA,MAAAsD,IAAA,CAAAwB,EAAA;QAAA,kBAAAnF,MAAA,CACkB0D,CAAC;QAAA,eACJ,IAAI,CAAC0B,kBAAkB,CAAC,IAAI,MAAAC,cAAA,iBAAAA,cAAA,iBAAO,IAAI,CAAC9E,KAAK;UAAE+E,MAAM,EAAE5B,CAAC;UAAE6B,KAAK,EAAE7B;QAAC,GAAG;QAAA,gBACpE,IAAI,CAAC0B,kBAAkB,CAAC,KAAK,MAAAC,cAAA,iBAAAA,cAAA,iBAAO,IAAI,CAAC9E,KAAK;UAAE+E,MAAM,EAAE5B,CAAC;UAAE6B,KAAK,EAAE7B;QAAC;MAAG,IAEnFS,WAAW,iBACV/F,MAAA,YAAAiC,aAAA,CAACuE,OAAO,EAAAjB,IAAA,CAAAwB,EAAA;QAAA;QAAA,KAEHX,MAAM,CAACf,CAAC,CAAChD,CAAC,CAAC,CAAC,GAAGuD,MAAM,CAAC,CAAC,CAAC;QAAA,KACxBS,MAAM,CAAChB,CAAC,CAAC9C,CAAC,CAAC,CAAC,GAAGqD,MAAM,CAAC,CAAC,CAAC;QAAA,MACxB,MAAM;QAAA,oBAAAhE,MAAA,CACSkC,GAAG;QAAA,UAAA0B,QAAA,GACdH,CAAC,CAACK,KAAK,CAAC,cAAAF,QAAA,cAAAA,QAAA,GAAIE,KAAK;QAAA,eACXO;MAAW,IACzB,GAED,CACD,eACDjG,MAAA,YAAAiC,aAAA,CAACqE,OAAO,EAAAf,IAAA,CAAAwB,EAAA;QAAA;QAAA,SAAAnF,MAAA,CAECkC,GAAG,EAAAlC,MAAA,CAAGkC,GAAG;QAAA,SACTwB,CAAC;QAAA,UACD,QAAQ;QAAA,oBAAA1D,MAAA,CACGkC,GAAG;QAAA,MACjBsC,MAAM,CAACf,CAAC,CAAChD,CAAC,CAAC,CAAC,GAAGuD,MAAM,CAAC,CAAC,CAAC;QAAA,MACxBS,MAAM,CAAChB,CAAC,CAAC9C,CAAC,CAAC,CAAC,GAAGqD,MAAM,CAAC,CAAC,CAAC;QAAA,SACrBP,CAAC,CAACK,KAAK,CAAC;QAAA,KACZ1B,CAAC,CAACqB,CAAC,CAAClC,KAAK,CAAC,CAAC;QAAA,mBAAAvB,MAAA,CACGiC,QAAQ;QAAA,eACZoC;MAAW,GACxB,EACDZ,CAAC,CAACS,KAAK,CAAC,iBACP9F,MAAA,YAAAiC,aAAA,CAACwE,MAAM,EAAAlB,IAAA,CAAAwB,EAAA;QAAA;QAAA,KAEFD,aAAa;QAAA,KACbT,MAAM,CAAChB,CAAC,CAAC9C,CAAC,CAAC,CAAC,GAAGqD,MAAM,CAAC,CAAC,CAAC;QAAA,MACxB,MAAM;QAAA,oBAAAhE,MAAA,CACSkC,GAAG;QAAA,YACX8C,aAAa;QAAA,SAChBvB,CAAC,CAACK,KAAK,CAAC;QAAA,eACFO;MAAW,IAEvBZ,CAAC,CAACS,KAAK,CAAC,CAEZ,CACC;IAER;EAAC;IAAA5C,GAAA;IAAAC,KAAA,EAED,SAAAiE,OAAA,EAAS;MACP,IAAAC,cAAA,GAA0C,IAAI,CAAC3E,OAAO;QAA9CqB,IAAI,GAAAsD,cAAA,CAAJtD,IAAI;QAAED,GAAG,GAAAuD,cAAA,CAAHvD,GAAG;QAAE6B,KAAK,GAAA0B,cAAA,CAAL1B,KAAK;QAAEtD,CAAC,GAAAgF,cAAA,CAADhF,CAAC;QAAEE,CAAC,GAAA8E,cAAA,CAAD9E,CAAC;QAAEY,KAAK,GAAAkE,cAAA,CAALlE,KAAK;MACrC,IAAAmE,OAAA,OAAAnB,eAAA,aAAyBR,KAAK;QAAvBS,MAAM,GAAAkB,OAAA;QAAEjB,MAAM,GAAAiB,OAAA;MACrB,IAAMC,KAAK,GAAGpD,IAAI,CAACqD,GAAG,CAACpB,MAAM,CAAC5B,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG4B,MAAM,CAAC5B,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAC7D,IAAMiD,KAAK,GAAGtD,IAAI,CAACqD,GAAG,CAACnB,MAAM,CAAC7B,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG6B,MAAM,CAAC7B,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAC7D,IAAMkD,OAAO,GAAGvD,IAAI,CAACwC,GAAG,CAACP,MAAM,CAAC5B,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE4B,MAAM,CAAC5B,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAC9D,IAAMmD,OAAO,GAAGxD,IAAI,CAACwC,GAAG,CAACN,MAAM,CAAC7B,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE6B,MAAM,CAAC7B,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAE9D,IAAI,CAAC9B,OAAO,CAACkF,gBAAgB,CAACC,oBAAoB,CAACxF,CAAC,EAAEE,CAAC,EAAEY,KAAK,CAAC;MAC/D,IAAI,CAACT,OAAO,CAACkF,gBAAgB,CAACE,iBAAiB,CAAC,cAAc,CAAC;MAE/D,oBACE9H,MAAA,YAAAiC,aAAA,CAAAjC,MAAA,YAAA+H,QAAA,QACGhE,IAAI,CAACO,GAAG,CAAC,IAAI,CAACc,YAAY,CAAC4C,IAAI,CAAC,IAAI,CAAC,CAAC,EACtCjE,IAAI,CAACO,GAAG,CAAC,IAAI,CAACX,eAAe,CAACqE,IAAI,CAAC,IAAI,CAAC,CAAC,eAC1ChI,MAAA,YAAAiC,aAAA,CAAC1B,SAAA,WAAQ;QACP,mBAAW;QACX0H,EAAE,EAAEnE,GAAI;QACRzB,CAAC,EAAEqF,OAAQ;QACXnF,CAAC,EAAEoF,OAAQ;QACXtE,KAAK,KAAAzB,MAAA,CAAK2F,KAAK,OAAK;QACpBjE,MAAM,KAAA1B,MAAA,CAAK6F,KAAK;MAAK,EACrB,CACD;IAEP;EAAC;EAAA,OAAA5G,UAAA;AAAA,EAnKsBqH,eAAS;AAAA,IAAArG,gBAAA,aAA5BhB,UAAU,iBACO,QAAQ;AAAA,IAAAgB,gBAAA,aADzBhB,UAAU,WAECH,KAAK;AAAA,IAAAmB,gBAAA,aAFhBhB,UAAU,aAGG,CAAC,IAAAsH,oBAAmB,GAAE,CAAC;AAAA,IAAAtG,gBAAA,aAHpChB,UAAU,kBAKQ;EACpB+E,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EACd/B,QAAQ,EAAE,GAAG;EACbkC,WAAW,EAAE;AACf,CAAC;AA6JH,IAAMqC,MAAM,GAAG,IAAAnG,yBAAa,EAACpB,UAAU,EAAE;EAAEwH,OAAO,EAAPA;AAAQ,CAAC,CAAC;AAAC,IAAAC,QAAA,GAEvCF,MAAM;AAAAG,OAAA,cAAAD,QAAA"}
|
package/lib/cjs/Donut.js
CHANGED
|
@@ -24,15 +24,16 @@ var _getOriginChildren = _interopRequireDefault(require("@semcore/utils/lib/getO
|
|
|
24
24
|
var _uniqueID = _interopRequireDefault(require("@semcore/utils/lib/uniqueID"));
|
|
25
25
|
var _createElement = _interopRequireDefault(require("./createElement"));
|
|
26
26
|
var _utils = require("./utils");
|
|
27
|
+
var _Tooltip = _interopRequireDefault(require("./Tooltip"));
|
|
27
28
|
var _excluded = ["Element", "styles", "d3Arc", "data", "color", "$animationActivePie", "active", "d3ArcOut", "name", "dataKey", "dataHintsHandler", "transparent"];
|
|
28
29
|
/*__reshadow-styles__:"./style/donut.shadow.css"*/
|
|
29
|
-
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
|
30
|
-
"__SPie": "
|
|
31
|
-
"_color": "
|
|
32
|
-
"--color": "--
|
|
33
|
-
"_transparent": "
|
|
34
|
-
"__SEmptyData": "
|
|
35
|
-
"__SLabel": "
|
|
30
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SPie_s10f8_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SPie_s10f8_gg_.__color_s10f8_gg_{fill:var(--color_s10f8)}.___SPie_s10f8_gg_.__transparent_s10f8_gg_{opacity:.3}.___SEmptyData_s10f8_gg_{fill:var(--intergalactic-chart-palette-order-null, #e0e1e9)}.___SEmptyData_s10f8_gg_.__color_s10f8_gg_{fill:var(--color_s10f8)}.___SLabel_s10f8_gg_{text-anchor:middle;vertical-anchor:middle}" /*__inner_css_end__*/, "s10f8_gg_") /*__reshadow_css_end__*/, {
|
|
31
|
+
"__SPie": "___SPie_s10f8_gg_",
|
|
32
|
+
"_color": "__color_s10f8_gg_",
|
|
33
|
+
"--color": "--color_s10f8",
|
|
34
|
+
"_transparent": "__transparent_s10f8_gg_",
|
|
35
|
+
"__SEmptyData": "___SEmptyData_s10f8_gg_",
|
|
36
|
+
"__SLabel": "___SLabel_s10f8_gg_"
|
|
36
37
|
});
|
|
37
38
|
var DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');
|
|
38
39
|
function transitionAnglePie(_ref4) {
|
|
@@ -430,7 +431,8 @@ function Label(_ref17) {
|
|
|
430
431
|
var Donut = (0, _createElement["default"])(DonutRoot, {
|
|
431
432
|
Pie: Pie,
|
|
432
433
|
Label: Label,
|
|
433
|
-
EmptyData: EmptyData
|
|
434
|
+
EmptyData: EmptyData,
|
|
435
|
+
Tooltip: _Tooltip["default"]
|
|
434
436
|
});
|
|
435
437
|
var _default = Donut;
|
|
436
438
|
exports["default"] = _default;
|
package/lib/cjs/Donut.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Donut.js","names":["_core","require","_react","_interopRequireWildcard","_d3Shape","_d3Interpolate","_d3Transition","_canUseDOM","_interopRequireDefault","_getOriginChildren","_uniqueID","_createElement","_utils","_excluded","style","sstyled","insert","DEFAULT_INSTANCE","Symbol","transitionAnglePie","_ref4","selector","duration","halfsize","d3Arc","d3ArcOut","arcs","activeIndexPie","transition","selection","selectAll","interrupt","attrTween","_","ind","d","Object","assign","self","initAngle","Math","PI","prevStartAngle","prevEndAngle","arc","startAngle","endAngle","iStartAngle","interpolate","iEndAngle","t","transitionRadiusPie","_ref5","data","element","innerRadius","outerRadiusStartEnd","select","_outerRadiusStartEnd","_slicedToArray2","start","end","iOuterRadius","outerRadiusPX","dataset","outerRadius","increaseFactor","getOuterRadius","_ref6","size","_size","width","height","minORmax","max","min","DonutRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","canUseDOM","document","createElement","undefined","visible","props","_ref7","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","_ref8","active","_this$asProps","canAnimatedHover","id","_this$asProps2","on","_createClass2","key","get","_this$asProps3","uid","value","top","right","bottom","left","getArcs","_this$asProps4","Children","d3Pie","pieData","entries","keys","React","toArray","getOriginChildren","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","_ref9","_ref10","includes","sort","_ref11","_ref12","_ref13","a","_ref14","b","indexOf","minValue","cur","map","getPieProps","_this2","_this$asProps5","find","$animationActivePie","animationActivePie","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","getEmptyDataProps","componentDidUpdate","prevProps","$rootProps","animationUpdatePie","componentDidMount","render","_this$asProps6","dataHintsHandler","establishDataType","_size2","Element","k","childrenPosition","transform","Component","uniqueIDEnhancement","_ref18","_ref18$innerRadius","_ref18$halfsize","pie","_ref19","_ref20","_ref15","_ref","SPie","styles","color","name","transparent","other","_objectWithoutProperties2","_useState","useState","_useState2","isMount","setIsMount","pieRef","useRef","useEffect","current","describeValueEntity","cn","EmptyData","_ref16","_ref2","SEmptyData","Label","_ref17","_ref3","SLabel","children","label","setTitle","_default","exports"],"sources":["../../src/Donut.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { arc, pie } from 'd3-shape';\nimport { interpolate } from 'd3-interpolate';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\n\nimport style from './style/donut.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\n\nfunction transitionAnglePie({\n selector,\n duration,\n halfsize,\n d3Arc,\n d3ArcOut,\n arcs,\n activeIndexPie,\n}) {\n return transition()\n .selection()\n .selectAll(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function (_, ind) {\n if (!arcs[ind]) return () => '';\n const d = Object.assign({}, arcs[ind]);\n const self = this;\n const initAngle = halfsize ? -Math.PI / 2 : 0;\n let prevStartAngle = initAngle;\n let prevEndAngle = initAngle;\n if (self.arc) {\n prevStartAngle = self.arc.startAngle;\n prevEndAngle = self.arc.endAngle;\n }\n const iStartAngle = interpolate(prevStartAngle, d.startAngle);\n const iEndAngle = interpolate(prevEndAngle, d.endAngle);\n return function (t) {\n d.startAngle = iStartAngle(t);\n d.endAngle = iEndAngle(t);\n self.arc = d;\n return ind === activeIndexPie ? d3ArcOut(self.arc) : d3Arc(self.arc);\n };\n });\n}\n\nfunction transitionRadiusPie({\n data,\n selector,\n element,\n duration,\n innerRadius,\n outerRadiusStartEnd,\n}) {\n return transition()\n .selection()\n .select(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function () {\n const [start, end] = outerRadiusStartEnd;\n const iOuterRadius = interpolate(start, end);\n return function (t) {\n const outerRadiusPX = iOuterRadius(t);\n element.dataset['currentRadius'] = outerRadiusPX;\n const d3ArcOut = arc().innerRadius(innerRadius).outerRadius(outerRadiusPX);\n return d3ArcOut(data);\n };\n });\n}\n\nconst increaseFactor = 8;\n\nfunction getOuterRadius({ size, halfsize }) {\n const [width, height] = size;\n const minORmax = halfsize ? Math.max : Math.min;\n return 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(outerRadius || getOuterRadius({ size, halfsize, outerRadius }))\n .innerRadius(innerRadius);\n\n const d3ArcOut = arc()\n .outerRadius((outerRadius || getOuterRadius({ size, halfsize })) + increaseFactor)\n .innerRadius(innerRadius);\n\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 d3ArcOut,\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 activeIndexPie = undefined;\n canAnimatedHover = false;\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 const { 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 animationActivePie = ({ data, active, selector, element }) => {\n const { duration, innerRadius, d3Arc } = this.asProps;\n const outerRadius = d3Arc.outerRadius()();\n if (this.canAnimatedHover && duration > 0) {\n transitionRadiusPie({\n data,\n selector: `#${this.id} ${selector}`,\n element,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadiusStartEnd: active\n ? [+element.dataset['currentRadius'] || outerRadius, outerRadius + increaseFactor]\n : [+element.dataset['currentRadius'] || outerRadius, outerRadius],\n });\n }\n };\n\n animationUpdatePie = () => {\n const { duration, d3Arc, halfsize, d3ArcOut } = this.asProps;\n this.canAnimatedHover = false;\n if (duration > 0) {\n transitionAnglePie({\n selector: `#${this.id} [data-ui-name=\"Donut.Pie\"]`,\n duration,\n arcs: this.arcs,\n halfsize,\n d3Arc,\n d3ArcOut,\n activeIndexPie: this.activeIndexPie,\n }).on('end', () => {\n this.canAnimatedHover = true;\n });\n } else {\n this.canAnimatedHover = true;\n }\n };\n\n getPieProps(props, ind) {\n const { d3Arc, d3ArcOut } = this.asProps;\n const { active } = props;\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n if (active) {\n this.activeIndexPie = ind;\n }\n\n return {\n data,\n d3Arc,\n d3ArcOut,\n $animationActivePie: this.animationActivePie,\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n onMouseOver: (e) => {\n if (!active) {\n this.animationActivePie({\n active: true,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n element: e.target,\n });\n }\n },\n onMouseOut: (e) => {\n if (!active) {\n this.animationActivePie({\n active: false,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n element: e.target,\n });\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 } = this.asProps;\n if (prevProps.$rootProps.data !== data) {\n this.animationUpdatePie();\n }\n }\n\n componentDidMount() {\n this.animationUpdatePie();\n }\n\n render() {\n const { halfsize, size } = this.asProps;\n this.asProps.dataHintsHandler.establishDataType('values-set');\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 aria-hidden\n id={this.id}\n render='g'\n childrenPosition='inside'\n transform={`translate(${width / 2},${height / k})`}\n />\n );\n }\n}\n\nfunction Pie({\n Element: SPie,\n styles,\n d3Arc,\n data,\n color,\n $animationActivePie,\n active,\n d3ArcOut,\n name,\n dataKey,\n dataHintsHandler,\n transparent,\n ...other\n}) {\n const [isMount, setIsMount] = useState(false);\n const pieRef = useRef(null);\n\n useEffect(() => {\n pieRef.current.dataset['currentRadius'] = (active ? d3ArcOut : d3Arc).outerRadius()();\n\n // do not run animation on first render\n if (!isMount) {\n setIsMount(true);\n return;\n }\n if (active !== undefined && active !== null) {\n $animationActivePie({\n active,\n data,\n selector: `[name=\"${other.name}\"]`,\n element: pieRef.current,\n });\n }\n }, [active]);\n\n dataHintsHandler.establishDataType('values-set');\n dataHintsHandler.describeValueEntity(dataKey, name);\n\n return sstyled(styles)(\n <SPie\n render='path'\n ref={pieRef}\n color={color}\n d={active ? d3ArcOut(data) : d3Arc(data)}\n transparent={transparent}\n />,\n );\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, children, label, dataHintsHandler }) {\n dataHintsHandler.setTitle('vertical', label || children);\n\n return sstyled(styles)(\n <SLabel render='text' x='0' y='0' aria-hidden>\n <Children />\n </SLabel>,\n );\n}\n\nconst Donut = createElement(DonutRoot, { Pie, Label, EmptyData });\n\nexport default Donut;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Donut.js","names":["_core","require","_react","_interopRequireWildcard","_d3Shape","_d3Interpolate","_d3Transition","_canUseDOM","_interopRequireDefault","_getOriginChildren","_uniqueID","_createElement","_utils","_Tooltip","_excluded","style","sstyled","insert","DEFAULT_INSTANCE","Symbol","transitionAnglePie","_ref4","selector","duration","halfsize","d3Arc","d3ArcOut","arcs","activeIndexPie","transition","selection","selectAll","interrupt","attrTween","_","ind","d","Object","assign","self","initAngle","Math","PI","prevStartAngle","prevEndAngle","arc","startAngle","endAngle","iStartAngle","interpolate","iEndAngle","t","transitionRadiusPie","_ref5","data","element","innerRadius","outerRadiusStartEnd","select","_outerRadiusStartEnd","_slicedToArray2","start","end","iOuterRadius","outerRadiusPX","dataset","outerRadius","increaseFactor","getOuterRadius","_ref6","size","_size","width","height","minORmax","max","min","DonutRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","canUseDOM","document","createElement","undefined","visible","props","_ref7","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","_ref8","active","_this$asProps","canAnimatedHover","id","_this$asProps2","on","_createClass2","key","get","_this$asProps3","uid","value","top","right","bottom","left","getArcs","_this$asProps4","Children","d3Pie","pieData","entries","keys","React","toArray","getOriginChildren","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","_ref9","_ref10","includes","sort","_ref11","_ref12","_ref13","a","_ref14","b","indexOf","minValue","cur","map","getPieProps","_this2","_this$asProps5","find","$animationActivePie","animationActivePie","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","getEmptyDataProps","componentDidUpdate","prevProps","$rootProps","animationUpdatePie","componentDidMount","render","_this$asProps6","dataHintsHandler","establishDataType","_size2","Element","k","childrenPosition","transform","Component","uniqueIDEnhancement","_ref18","_ref18$innerRadius","_ref18$halfsize","pie","_ref19","_ref20","_ref15","_ref","SPie","styles","color","name","transparent","other","_objectWithoutProperties2","_useState","useState","_useState2","isMount","setIsMount","pieRef","useRef","useEffect","current","describeValueEntity","cn","EmptyData","_ref16","_ref2","SEmptyData","Label","_ref17","_ref3","SLabel","children","label","setTitle","Tooltip","_default","exports"],"sources":["../../src/Donut.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { arc, pie } from 'd3-shape';\nimport { interpolate } from 'd3-interpolate';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\nimport Tooltip from './Tooltip';\n\nimport style from './style/donut.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\n\nfunction transitionAnglePie({\n selector,\n duration,\n halfsize,\n d3Arc,\n d3ArcOut,\n arcs,\n activeIndexPie,\n}) {\n return transition()\n .selection()\n .selectAll(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function (_, ind) {\n if (!arcs[ind]) return () => '';\n const d = Object.assign({}, arcs[ind]);\n const self = this;\n const initAngle = halfsize ? -Math.PI / 2 : 0;\n let prevStartAngle = initAngle;\n let prevEndAngle = initAngle;\n if (self.arc) {\n prevStartAngle = self.arc.startAngle;\n prevEndAngle = self.arc.endAngle;\n }\n const iStartAngle = interpolate(prevStartAngle, d.startAngle);\n const iEndAngle = interpolate(prevEndAngle, d.endAngle);\n return function (t) {\n d.startAngle = iStartAngle(t);\n d.endAngle = iEndAngle(t);\n self.arc = d;\n return ind === activeIndexPie ? d3ArcOut(self.arc) : d3Arc(self.arc);\n };\n });\n}\n\nfunction transitionRadiusPie({\n data,\n selector,\n element,\n duration,\n innerRadius,\n outerRadiusStartEnd,\n}) {\n return transition()\n .selection()\n .select(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function () {\n const [start, end] = outerRadiusStartEnd;\n const iOuterRadius = interpolate(start, end);\n return function (t) {\n const outerRadiusPX = iOuterRadius(t);\n element.dataset['currentRadius'] = outerRadiusPX;\n const d3ArcOut = arc().innerRadius(innerRadius).outerRadius(outerRadiusPX);\n return d3ArcOut(data);\n };\n });\n}\n\nconst increaseFactor = 8;\n\nfunction getOuterRadius({ size, halfsize }) {\n const [width, height] = size;\n const minORmax = halfsize ? Math.max : Math.min;\n return 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(outerRadius || getOuterRadius({ size, halfsize, outerRadius }))\n .innerRadius(innerRadius);\n\n const d3ArcOut = arc()\n .outerRadius((outerRadius || getOuterRadius({ size, halfsize })) + increaseFactor)\n .innerRadius(innerRadius);\n\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 d3ArcOut,\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 activeIndexPie = undefined;\n canAnimatedHover = false;\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 const { 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 animationActivePie = ({ data, active, selector, element }) => {\n const { duration, innerRadius, d3Arc } = this.asProps;\n const outerRadius = d3Arc.outerRadius()();\n if (this.canAnimatedHover && duration > 0) {\n transitionRadiusPie({\n data,\n selector: `#${this.id} ${selector}`,\n element,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadiusStartEnd: active\n ? [+element.dataset['currentRadius'] || outerRadius, outerRadius + increaseFactor]\n : [+element.dataset['currentRadius'] || outerRadius, outerRadius],\n });\n }\n };\n\n animationUpdatePie = () => {\n const { duration, d3Arc, halfsize, d3ArcOut } = this.asProps;\n this.canAnimatedHover = false;\n if (duration > 0) {\n transitionAnglePie({\n selector: `#${this.id} [data-ui-name=\"Donut.Pie\"]`,\n duration,\n arcs: this.arcs,\n halfsize,\n d3Arc,\n d3ArcOut,\n activeIndexPie: this.activeIndexPie,\n }).on('end', () => {\n this.canAnimatedHover = true;\n });\n } else {\n this.canAnimatedHover = true;\n }\n };\n\n getPieProps(props, ind) {\n const { d3Arc, d3ArcOut } = this.asProps;\n const { active } = props;\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n if (active) {\n this.activeIndexPie = ind;\n }\n\n return {\n data,\n d3Arc,\n d3ArcOut,\n $animationActivePie: this.animationActivePie,\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n onMouseOver: (e) => {\n if (!active) {\n this.animationActivePie({\n active: true,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n element: e.target,\n });\n }\n },\n onMouseOut: (e) => {\n if (!active) {\n this.animationActivePie({\n active: false,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n element: e.target,\n });\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 } = this.asProps;\n if (prevProps.$rootProps.data !== data) {\n this.animationUpdatePie();\n }\n }\n\n componentDidMount() {\n this.animationUpdatePie();\n }\n\n render() {\n const { halfsize, size } = this.asProps;\n this.asProps.dataHintsHandler.establishDataType('values-set');\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 aria-hidden\n id={this.id}\n render='g'\n childrenPosition='inside'\n transform={`translate(${width / 2},${height / k})`}\n />\n );\n }\n}\n\nfunction Pie({\n Element: SPie,\n styles,\n d3Arc,\n data,\n color,\n $animationActivePie,\n active,\n d3ArcOut,\n name,\n dataKey,\n dataHintsHandler,\n transparent,\n ...other\n}) {\n const [isMount, setIsMount] = useState(false);\n const pieRef = useRef(null);\n\n useEffect(() => {\n pieRef.current.dataset['currentRadius'] = (active ? d3ArcOut : d3Arc).outerRadius()();\n\n // do not run animation on first render\n if (!isMount) {\n setIsMount(true);\n return;\n }\n if (active !== undefined && active !== null) {\n $animationActivePie({\n active,\n data,\n selector: `[name=\"${other.name}\"]`,\n element: pieRef.current,\n });\n }\n }, [active]);\n\n dataHintsHandler.establishDataType('values-set');\n dataHintsHandler.describeValueEntity(dataKey, name);\n\n return sstyled(styles)(\n <SPie\n render='path'\n ref={pieRef}\n color={color}\n d={active ? d3ArcOut(data) : d3Arc(data)}\n transparent={transparent}\n />,\n );\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, children, label, dataHintsHandler }) {\n dataHintsHandler.setTitle('vertical', label || children);\n\n return sstyled(styles)(\n <SLabel render='text' x='0' y='0' aria-hidden>\n <Children />\n </SLabel>,\n );\n}\n\nconst Donut = createElement(DonutRoot, { Pie, Label, EmptyData, Tooltip });\n\nexport default Donut;\n"],"mappings":"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"}
|
package/lib/cjs/Dots.js
CHANGED
|
@@ -14,15 +14,15 @@ var _rafTrottle = _interopRequireDefault(require("@semcore/utils/lib/rafTrottle"
|
|
|
14
14
|
var _createElement = _interopRequireDefault(require("./createElement"));
|
|
15
15
|
var _utils = require("./utils");
|
|
16
16
|
/*__reshadow-styles__:"./style/dot.shadow.css"*/
|
|
17
|
-
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
|
18
|
-
"__SDots": "
|
|
19
|
-
"__SDot": "
|
|
20
|
-
"--duration": "--
|
|
21
|
-
"_hide": "
|
|
22
|
-
"_active": "
|
|
23
|
-
"_color": "
|
|
24
|
-
"--color": "--
|
|
25
|
-
"_transparent": "
|
|
17
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SDots_1h9a8_gg_ .___SDot_1h9a8_gg_{transition-duration:var(--duration_1h9a8)}.___SDot_1h9a8_gg_{stroke-width:2px;stroke:var(--intergalactic-chart-grid-border, #ffffff);r:6px;fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy;transition-timing-function:ease-in-out}.___SDot_1h9a8_gg_.__hide_1h9a8_gg_{display:none}.___SDot_1h9a8_gg_.__active_1h9a8_gg_{r:8px}.___SDot_1h9a8_gg_.__color_1h9a8_gg_{fill:var(--color_1h9a8)}.___SDot_1h9a8_gg_.__transparent_1h9a8_gg_{opacity:.3}" /*__inner_css_end__*/, "1h9a8_gg_") /*__reshadow_css_end__*/, {
|
|
18
|
+
"__SDots": "___SDots_1h9a8_gg_",
|
|
19
|
+
"__SDot": "___SDot_1h9a8_gg_",
|
|
20
|
+
"--duration": "--duration_1h9a8",
|
|
21
|
+
"_hide": "__hide_1h9a8_gg_",
|
|
22
|
+
"_active": "__active_1h9a8_gg_",
|
|
23
|
+
"_color": "__color_1h9a8_gg_",
|
|
24
|
+
"--color": "--color_1h9a8",
|
|
25
|
+
"_transparent": "__transparent_1h9a8_gg_"
|
|
26
26
|
});
|
|
27
27
|
var EXCLUDE_PROPS = ['data', 'scale', 'value', 'display'];
|
|
28
28
|
function Dots(props) {
|