@semcore/d3-chart 1.7.1 → 2.0.0
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 -0
- package/lib/cjs/Area.js +9 -9
- package/lib/cjs/Axis.js +33 -21
- package/lib/cjs/Axis.js.map +1 -1
- package/lib/cjs/Bar.js +11 -11
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Bubble.js +13 -34
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/ClipPath.js +2 -1
- package/lib/cjs/ClipPath.js.map +1 -1
- package/lib/cjs/Donut.js +8 -8
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +9 -9
- package/lib/cjs/Dots.js.map +1 -1
- package/lib/cjs/GroupBar.js +8 -8
- package/lib/cjs/GroupBar.js.map +1 -1
- package/lib/cjs/HorizontalBar.js +11 -11
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Hover.js +4 -4
- package/lib/cjs/Line.js +8 -8
- package/lib/cjs/Plot.js +15 -1
- package/lib/cjs/Plot.js.map +1 -1
- package/lib/cjs/RadialTree.js +694 -0
- package/lib/cjs/RadialTree.js.map +1 -0
- package/lib/cjs/ResponsiveContainer.js +1 -1
- package/lib/cjs/ResponsiveContainer.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +7 -7
- package/lib/cjs/StackBar.js +8 -8
- package/lib/cjs/StackBar.js.map +1 -1
- package/lib/cjs/StackedArea.js +8 -8
- package/lib/cjs/StackedArea.js.map +1 -1
- package/lib/cjs/Tooltip.js +11 -15
- package/lib/cjs/Tooltip.js.map +1 -1
- package/lib/cjs/Venn.js +9 -9
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/color.js +122 -30
- package/lib/cjs/color.js.map +1 -1
- package/lib/cjs/createElement.js +3 -2
- package/lib/cjs/createElement.js.map +1 -1
- package/lib/cjs/index.js +8 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/style/area.shadow.css +4 -4
- package/lib/cjs/style/axis.shadow.css +6 -8
- package/lib/cjs/style/bar.shadow.css +2 -2
- package/lib/cjs/style/bubble.shadow.css +3 -3
- package/lib/cjs/style/donut.shadow.css +2 -2
- package/lib/cjs/style/dot.shadow.css +1 -1
- package/lib/cjs/style/hover.shadow.css +2 -2
- package/lib/cjs/style/line.shadow.css +2 -2
- package/lib/cjs/style/plot.shadow.css +6 -0
- package/lib/cjs/style/radial-tree.shadow.css +34 -0
- package/lib/cjs/style/scatterplot.shadow.css +2 -2
- package/lib/cjs/style/tooltip.shadow.css +5 -5
- package/lib/cjs/style/var.css +123 -30
- package/lib/cjs/style/venn.shadow.css +1 -1
- package/lib/cjs/types/Area.d.ts +47 -0
- package/lib/cjs/types/Axis.d.ts +64 -0
- package/lib/cjs/types/Bar.d.ts +48 -0
- package/lib/cjs/types/Bubble.d.ts +27 -0
- package/lib/cjs/types/ClipPath.d.ts +26 -0
- package/lib/cjs/types/Donut.d.ts +42 -0
- package/lib/cjs/types/GroupBar.d.ts +20 -0
- package/lib/cjs/types/HorizontalBar.d.ts +29 -0
- package/lib/cjs/types/Hover.d.ts +15 -0
- package/lib/cjs/types/Line.d.ts +50 -0
- package/lib/cjs/types/Plot.d.ts +16 -0
- package/lib/cjs/types/ResponsiveContainer.d.ts +20 -0
- package/lib/cjs/types/ScatterPlot.d.ts +27 -0
- package/lib/cjs/types/StackBar.d.ts +26 -0
- package/lib/cjs/types/StackedArea.d.ts +26 -0
- package/lib/cjs/types/Tooltip.d.ts +31 -0
- package/lib/cjs/types/Venn.d.ts +45 -0
- package/lib/cjs/types/context.d.ts +6 -0
- package/lib/cjs/types/index.d.ts +53 -0
- package/lib/cjs/utils.js +120 -55
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Area.js +9 -9
- package/lib/es6/Axis.js +33 -21
- package/lib/es6/Axis.js.map +1 -1
- package/lib/es6/Bar.js +11 -11
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Bubble.js +13 -34
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/ClipPath.js +2 -1
- package/lib/es6/ClipPath.js.map +1 -1
- package/lib/es6/Donut.js +8 -8
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +9 -9
- package/lib/es6/Dots.js.map +1 -1
- package/lib/es6/GroupBar.js +8 -8
- package/lib/es6/GroupBar.js.map +1 -1
- package/lib/es6/HorizontalBar.js +11 -11
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Hover.js +4 -4
- package/lib/es6/Line.js +8 -8
- package/lib/es6/Plot.js +17 -1
- package/lib/es6/Plot.js.map +1 -1
- package/lib/es6/RadialTree.js +682 -0
- package/lib/es6/RadialTree.js.map +1 -0
- package/lib/es6/ResponsiveContainer.js +1 -1
- package/lib/es6/ResponsiveContainer.js.map +1 -1
- package/lib/es6/ScatterPlot.js +7 -7
- package/lib/es6/StackBar.js +8 -8
- package/lib/es6/StackBar.js.map +1 -1
- package/lib/es6/StackedArea.js +8 -8
- package/lib/es6/StackedArea.js.map +1 -1
- package/lib/es6/Tooltip.js +11 -15
- package/lib/es6/Tooltip.js.map +1 -1
- package/lib/es6/Venn.js +9 -9
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/color.js +122 -30
- package/lib/es6/color.js.map +1 -1
- package/lib/es6/createElement.js +3 -2
- package/lib/es6/createElement.js.map +1 -1
- package/lib/es6/index.js +1 -0
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/style/area.shadow.css +4 -4
- package/lib/es6/style/axis.shadow.css +6 -8
- package/lib/es6/style/bar.shadow.css +2 -2
- package/lib/es6/style/bubble.shadow.css +3 -3
- package/lib/es6/style/donut.shadow.css +2 -2
- package/lib/es6/style/dot.shadow.css +1 -1
- package/lib/es6/style/hover.shadow.css +2 -2
- package/lib/es6/style/line.shadow.css +2 -2
- package/lib/es6/style/plot.shadow.css +6 -0
- package/lib/es6/style/radial-tree.shadow.css +34 -0
- package/lib/es6/style/scatterplot.shadow.css +2 -2
- package/lib/es6/style/tooltip.shadow.css +5 -5
- package/lib/es6/style/var.css +123 -30
- package/lib/es6/style/venn.shadow.css +1 -1
- package/lib/es6/types/Area.d.ts +47 -0
- package/lib/es6/types/Axis.d.ts +64 -0
- package/lib/es6/types/Bar.d.ts +48 -0
- package/lib/es6/types/Bubble.d.ts +27 -0
- package/lib/es6/types/ClipPath.d.ts +26 -0
- package/lib/es6/types/Donut.d.ts +42 -0
- package/lib/es6/types/GroupBar.d.ts +20 -0
- package/lib/es6/types/HorizontalBar.d.ts +29 -0
- package/lib/es6/types/Hover.d.ts +15 -0
- package/lib/es6/types/Line.d.ts +50 -0
- package/lib/es6/types/Plot.d.ts +16 -0
- package/lib/es6/types/ResponsiveContainer.d.ts +20 -0
- package/lib/es6/types/ScatterPlot.d.ts +27 -0
- package/lib/es6/types/StackBar.d.ts +26 -0
- package/lib/es6/types/StackedArea.d.ts +26 -0
- package/lib/es6/types/Tooltip.d.ts +31 -0
- package/lib/es6/types/Venn.d.ts +45 -0
- package/lib/es6/types/context.d.ts +6 -0
- package/lib/es6/types/index.d.ts +53 -0
- package/lib/es6/utils.js +95 -44
- package/lib/es6/utils.js.map +1 -1
- package/lib/types/RadialTree.d.ts +202 -0
- package/lib/types/index.d.ts +6 -0
- package/lib/types/utils.d.ts +27 -0
- package/package.json +22 -10
- package/src/Axis.jsx +11 -1
- package/src/Bubble.jsx +1 -21
- package/src/ClipPath.jsx +1 -0
- package/src/Donut.jsx +7 -9
- package/src/Plot.jsx +2 -0
- package/src/RadialTree.tsx +767 -0
- package/src/createElement.jsx +3 -1
- package/src/index.js +1 -0
- package/src/style/area.shadow.css +4 -4
- package/src/style/axis.shadow.css +6 -8
- package/src/style/bar.shadow.css +2 -2
- package/src/style/bubble.shadow.css +3 -3
- package/src/style/donut.shadow.css +2 -2
- package/src/style/dot.shadow.css +1 -1
- package/src/style/hover.shadow.css +2 -2
- package/src/style/line.shadow.css +2 -2
- package/src/style/plot.shadow.css +6 -0
- package/src/style/radial-tree.shadow.css +34 -0
- package/src/style/scatterplot.shadow.css +2 -2
- package/src/style/tooltip.shadow.css +5 -5
- package/src/style/var.css +123 -30
- package/src/style/venn.shadow.css +1 -1
- package/src/types/index.d.ts +6 -0
- package/src/utils.ts +227 -0
- package/src/utils.js +0 -147
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
+
## [2.0.0] - 2022-05-17
|
|
6
|
+
|
|
7
|
+
### BREAK
|
|
8
|
+
|
|
9
|
+
- Updated styles according to the library redesign policy.
|
|
10
|
+
|
|
11
|
+
## [1.9.0] - 2022-04-14
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- Added `<RadialTree />` chart.
|
|
16
|
+
|
|
17
|
+
## [1.8.0] - 2022-04-11
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
|
|
21
|
+
- Fixed left and right `<Axis.Title />` unexpected horizontal transition based on title characters count.
|
|
22
|
+
|
|
5
23
|
## [1.7.1] - 2022-04-03
|
|
6
24
|
|
|
7
25
|
### Changed
|
package/lib/cjs/Area.js
CHANGED
|
@@ -46,18 +46,18 @@ var style = (
|
|
|
46
46
|
/*__reshadow_css_start__*/
|
|
47
47
|
_core.sstyled.insert(
|
|
48
48
|
/*__inner_css_start__*/
|
|
49
|
-
".
|
|
49
|
+
".___SArea_1iyoe_gg_{fill:#2bb3ff;fill-opacity:.2}.___SArea_1iyoe_gg_.__color_1iyoe_gg_{fill:var(--color_14tehk4)}.___SAreaLine_1iyoe_gg_{stroke:#2bb3ff;stroke-width:3;fill:transparent}.___SAreaLine_1iyoe_gg_.__color_1iyoe_gg_{stroke:var(--color_14tehk4)}.___SArea_1iyoe_gg_,.___SAreaLine_1iyoe_gg_{transition-property:d;transition-duration:var(--duration_14tehk4);transition-timing-function:ease-in-out}.___SNull_1iyoe_gg_{fill:transparent;stroke:#8a8e9b;stroke-dasharray:4}.___SNull_1iyoe_gg_.__hide_1iyoe_gg_{display:none}"
|
|
50
50
|
/*__inner_css_end__*/
|
|
51
|
-
, "
|
|
51
|
+
, "14tehk4_gg_")
|
|
52
52
|
/*__reshadow_css_end__*/
|
|
53
53
|
, {
|
|
54
|
-
"__SArea": "
|
|
55
|
-
"_color": "
|
|
56
|
-
"--color": "--
|
|
57
|
-
"__SAreaLine": "
|
|
58
|
-
"--duration": "--
|
|
59
|
-
"__SNull": "
|
|
60
|
-
"_hide": "
|
|
54
|
+
"__SArea": "___SArea_1iyoe_gg_",
|
|
55
|
+
"_color": "__color_1iyoe_gg_",
|
|
56
|
+
"--color": "--color_14tehk4",
|
|
57
|
+
"__SAreaLine": "___SAreaLine_1iyoe_gg_",
|
|
58
|
+
"--duration": "--duration_14tehk4",
|
|
59
|
+
"__SNull": "___SNull_1iyoe_gg_",
|
|
60
|
+
"_hide": "__hide_1iyoe_gg_"
|
|
61
61
|
});
|
|
62
62
|
|
|
63
63
|
var AreaRoot = /*#__PURE__*/function (_Component) {
|
package/lib/cjs/Axis.js
CHANGED
|
@@ -44,22 +44,23 @@ var style = (
|
|
|
44
44
|
/*__reshadow_css_start__*/
|
|
45
45
|
_core.sstyled.insert(
|
|
46
46
|
/*__inner_css_start__*/
|
|
47
|
-
".
|
|
47
|
+
".___SAxis_1uh3e_gg_{stroke:#c4c7cf}.___SAxis_1uh3e_gg_.__hide_1uh3e_gg_{display:none}.___STick_1uh3e_gg_{font-size:12px;fill:#6c6e79}.___STick_1uh3e_gg_.__hide_1uh3e_gg_{display:none}.___SGrid_1uh3e_gg_{fill:transparent;stroke:#e0e1e9}.___STitle_1uh3e_gg_{font-size:12px;fill:#6c6e79;transform-origin:var(--transform-origin_10rkj03)}.___STitle_1uh3e_gg_._position_top_1uh3e_gg_{text-anchor:middle;transform:translateY(-16px)}.___STitle_1uh3e_gg_._position_bottom_1uh3e_gg_{text-anchor:middle;alignment-baseline:hanging;transform:translateY(16px)}.___STitle_1uh3e_gg_._position_right_1uh3e_gg_{transform:rotate(-90deg);alignment-baseline:middle}.___STitle_1uh3e_gg_._position_left_1uh3e_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___STick_1uh3e_gg_._position_top_1uh3e_gg_{transform:translateY(-12px);text-anchor:middle}.___STick_1uh3e_gg_._position_bottom_1uh3e_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_1uh3e_gg_._position_right_1uh3e_gg_{transform:translateX(16px);text-anchor:start;alignment-baseline:middle}.___STick_1uh3e_gg_._position_left_1uh3e_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}.___STick_1uh3e_gg_._position_custom_0_1uh3e_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_1uh3e_gg_._position_custom_1_1uh3e_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}"
|
|
48
48
|
/*__inner_css_end__*/
|
|
49
|
-
, "
|
|
49
|
+
, "10rkj03_gg_")
|
|
50
50
|
/*__reshadow_css_end__*/
|
|
51
51
|
, {
|
|
52
|
-
"__SAxis": "
|
|
53
|
-
"_hide": "
|
|
54
|
-
"__STick": "
|
|
55
|
-
"__SGrid": "
|
|
56
|
-
"__STitle": "
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
52
|
+
"__SAxis": "___SAxis_1uh3e_gg_",
|
|
53
|
+
"_hide": "__hide_1uh3e_gg_",
|
|
54
|
+
"__STick": "___STick_1uh3e_gg_",
|
|
55
|
+
"__SGrid": "___SGrid_1uh3e_gg_",
|
|
56
|
+
"__STitle": "___STitle_1uh3e_gg_",
|
|
57
|
+
"--transform-origin": "--transform-origin_10rkj03",
|
|
58
|
+
"_position_top": "_position_top_1uh3e_gg_",
|
|
59
|
+
"_position_bottom": "_position_bottom_1uh3e_gg_",
|
|
60
|
+
"_position_right": "_position_right_1uh3e_gg_",
|
|
61
|
+
"_position_left": "_position_left_1uh3e_gg_",
|
|
62
|
+
"_position_custom_0": "_position_custom_0_1uh3e_gg_",
|
|
63
|
+
"_position_custom_1": "_position_custom_1_1uh3e_gg_"
|
|
63
64
|
});
|
|
64
65
|
var CUSTOM_0 = Symbol('custom_0');
|
|
65
66
|
var CUSTOM_1 = Symbol('custom_1');
|
|
@@ -361,7 +362,7 @@ var AxisRoot = /*#__PURE__*/function (_Component) {
|
|
|
361
362
|
}, {
|
|
362
363
|
key: "render",
|
|
363
364
|
value: function render() {
|
|
364
|
-
var _ref
|
|
365
|
+
var _ref;
|
|
365
366
|
|
|
366
367
|
var SAxis = this.Element;
|
|
367
368
|
var _this$asProps3 = this.asProps,
|
|
@@ -370,7 +371,7 @@ var AxisRoot = /*#__PURE__*/function (_Component) {
|
|
|
370
371
|
scale = _this$asProps3.scale,
|
|
371
372
|
hide = _this$asProps3.hide,
|
|
372
373
|
indexScale = _this$asProps3.indexScale;
|
|
373
|
-
var pos =
|
|
374
|
+
var pos = MAP_POSITION_AXIS[position] ?? MAP_POSITION_AXIS[MAP_INDEX_SCALE_SYMBOL[indexScale]];
|
|
374
375
|
return _ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SAxis, _ref.cn("SAxis", _objectSpread({
|
|
375
376
|
"render": "line",
|
|
376
377
|
"hide": hide
|
|
@@ -384,8 +385,6 @@ var AxisRoot = /*#__PURE__*/function (_Component) {
|
|
|
384
385
|
(0, _defineProperty2["default"])(AxisRoot, "style", style);
|
|
385
386
|
|
|
386
387
|
function Ticks(props) {
|
|
387
|
-
var _MAP_POSITION_TICK$po;
|
|
388
|
-
|
|
389
388
|
var STick = props.Element,
|
|
390
389
|
styles = props.styles,
|
|
391
390
|
scale = props.scale,
|
|
@@ -393,7 +392,7 @@ function Ticks(props) {
|
|
|
393
392
|
position = props.position,
|
|
394
393
|
hide = props.hide,
|
|
395
394
|
indexScale = props.indexScale;
|
|
396
|
-
var pos =
|
|
395
|
+
var pos = MAP_POSITION_TICK[position] ?? MAP_POSITION_TICK[MAP_INDEX_SCALE_SYMBOL[indexScale]];
|
|
397
396
|
var positionClass = MAP_POSITION_TICK[position] ? position : 'custom_' + indexScale;
|
|
398
397
|
return ticks.map(function (value, i) {
|
|
399
398
|
var _ref2;
|
|
@@ -434,11 +433,24 @@ function Title(props) {
|
|
|
434
433
|
styles = props.styles,
|
|
435
434
|
scale = props.scale,
|
|
436
435
|
position = props.position;
|
|
437
|
-
|
|
436
|
+
|
|
437
|
+
var _MAP_POSITION_TITlE$p = MAP_POSITION_TITlE[position](scale),
|
|
438
|
+
x = _MAP_POSITION_TITlE$p.x,
|
|
439
|
+
y = _MAP_POSITION_TITlE$p.y;
|
|
440
|
+
|
|
441
|
+
var sstyles = (0, _core.sstyled)(styles);
|
|
442
|
+
var sTitleStyles = sstyles.cn('STitle', {
|
|
443
|
+
'transform-origin': "".concat(x.toFixed(2), "px ").concat(y.toFixed(2), "px")
|
|
444
|
+
});
|
|
445
|
+
return _ref4 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(STitle, _ref4.cn("STitle", {
|
|
438
446
|
"render": "text",
|
|
439
447
|
"childrenPosition": "inside",
|
|
440
|
-
"position": position
|
|
441
|
-
|
|
448
|
+
"position": position,
|
|
449
|
+
"className": sTitleStyles.className,
|
|
450
|
+
"style": sTitleStyles.style,
|
|
451
|
+
"x": x,
|
|
452
|
+
"y": y
|
|
453
|
+
}));
|
|
442
454
|
}
|
|
443
455
|
|
|
444
456
|
var XAxis = (0, _createElement["default"])(AxisRoot, {
|
package/lib/cjs/Axis.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Axis.jsx"],"names":["CUSTOM_0","Symbol","CUSTOM_1","MAP_INDEX_SCALE_SYMBOL","MAP_POSITION_REVERT","top","right","bottom","left","MAP_POSITION_AXIS","xScale","yScale","xRange","range","yRange","x1","y1","x2","y2","pos","MAP_POSITION_TICK","value","x","y","MAP_POSITION_GRID","TICKS_OVERLAP_SHIFT","MAP_POSITION_TITlE","renderValue","Date","toLocaleDateString","AxisRoot","asProps","ticks","indexScale","scale","scl","domain","position","SAxis","Element","styles","hide","Component","style","Ticks","props","STick","positionClass","map","i","Grid","SGrid","Title","STitle","XAxis","defaultProps","YAxis"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport { scaleOfBandwidth } from './utils';\n\nimport style from './style/axis.shadow.css';\n\nconst CUSTOM_0 = Symbol('custom_0');\nconst CUSTOM_1 = Symbol('custom_1');\n\nconst MAP_INDEX_SCALE_SYMBOL = {\n 0: CUSTOM_0,\n 1: CUSTOM_1,\n};\n\nconst MAP_POSITION_REVERT = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n};\n\nconst MAP_POSITION_AXIS = {\n top: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[0],\n y1: yRange[1],\n x2: xRange[1],\n y2: yRange[1],\n };\n },\n bottom: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[0],\n y1: yRange[0],\n x2: xRange[1],\n y2: yRange[0],\n };\n },\n right: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[1],\n y1: yRange[0],\n x2: xRange[1],\n y2: yRange[1],\n };\n },\n left: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[0],\n y1: yRange[0],\n x2: xRange[0],\n y2: yRange[1],\n };\n },\n [CUSTOM_0]: ([xScale, yScale], pos) => {\n const xRange = xScale.range();\n return {\n x1: xRange[0],\n y1: scaleOfBandwidth(yScale, pos),\n x2: xRange[1],\n y2: scaleOfBandwidth(yScale, pos),\n };\n },\n [CUSTOM_1]: ([xScale, yScale], pos) => {\n const yRange = yScale.range();\n return {\n x1: scaleOfBandwidth(xScale, pos),\n y1: yRange[0],\n x2: scaleOfBandwidth(xScale, pos),\n y2: yRange[1],\n };\n },\n};\n\nconst MAP_POSITION_TICK = {\n top: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n return {\n x: scaleOfBandwidth(xScale, value),\n y: yRange[1],\n };\n },\n bottom: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n return {\n x: scaleOfBandwidth(xScale, value),\n y: yRange[0],\n };\n },\n right: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n return {\n x: xRange[1],\n y: scaleOfBandwidth(yScale, value),\n };\n },\n left: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n return {\n x: xRange[0],\n y: scaleOfBandwidth(yScale, value),\n };\n },\n [CUSTOM_0]: ([xScale, yScale], value, pos) => {\n return {\n x: scaleOfBandwidth(xScale, value),\n y: scaleOfBandwidth(yScale, pos),\n };\n },\n [CUSTOM_1]: ([xScale, yScale], value, pos) => {\n return {\n x: scaleOfBandwidth(xScale, pos),\n y: scaleOfBandwidth(yScale, value),\n };\n },\n};\n\nconst MAP_POSITION_GRID = {\n 0: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n const x = scaleOfBandwidth(xScale, value);\n return {\n x1: x,\n y1: yRange[0],\n x2: x,\n y2: yRange[1],\n };\n },\n 1: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n const y = scaleOfBandwidth(yScale, value);\n return {\n x1: xRange[0],\n y1: y,\n x2: xRange[1],\n y2: y,\n };\n },\n};\n\nconst TICKS_OVERLAP_SHIFT = 15;\nconst MAP_POSITION_TITlE = {\n top: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x: xRange[1] / 2,\n y: yRange[1],\n };\n },\n bottom: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x: xRange[1] / 2,\n y: yRange[0] + TICKS_OVERLAP_SHIFT,\n };\n },\n right: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x: xRange[1],\n y: (yRange[0] + yRange[1]) / 2,\n };\n },\n left: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x: xRange[0] / 2,\n y: (yRange[0] + yRange[1]) / 2,\n };\n },\n};\n\nfunction renderValue(value) {\n if (value instanceof Date) {\n return value.toLocaleDateString();\n }\n return value;\n}\n\nclass AxisRoot extends Component {\n static displayName = 'Axis';\n\n static style = style;\n\n get ticks() {\n const { ticks, indexScale, scale } = this.asProps;\n const scl = scale[indexScale];\n return ticks || (scl.ticks && scl.ticks()) || (scl.domain && scl.domain()) || [];\n }\n\n getTitleProps() {\n const { position } = this.asProps;\n return {\n position: MAP_POSITION_REVERT[position],\n };\n }\n\n getTicksProps() {\n const { position, indexScale } = this.asProps;\n return {\n ticks: this.ticks,\n indexScale,\n position,\n };\n }\n\n getGridProps() {\n const { indexScale } = this.asProps;\n return {\n ticks: this.ticks,\n indexScale,\n };\n }\n\n render() {\n const SAxis = this.Element;\n const { styles, position, scale, hide, indexScale } = this.asProps;\n\n const pos =\n MAP_POSITION_AXIS[position] ?? MAP_POSITION_AXIS[MAP_INDEX_SCALE_SYMBOL[indexScale]];\n\n return sstyled(styles)(<SAxis render=\"line\" hide={hide} {...pos(scale, position)} />);\n }\n}\n\nfunction Ticks(props) {\n const { Element: STick, styles, scale, ticks, position, hide, indexScale } = props;\n\n const pos = MAP_POSITION_TICK[position] ?? MAP_POSITION_TICK[MAP_INDEX_SCALE_SYMBOL[indexScale]];\n const positionClass = MAP_POSITION_TICK[position] ? position : 'custom_' + indexScale;\n\n return ticks.map((value, i) => {\n return sstyled(styles)(\n <STick\n key={i}\n render=\"text\"\n childrenPosition=\"inside\"\n __excludeProps={['data', 'scale', 'format', 'value']}\n value={value}\n index={i}\n position={positionClass}\n hide={hide}\n {...pos(scale, value, position)}\n >\n {renderValue(value)}\n </STick>,\n );\n });\n}\n\nfunction Grid(props) {\n const { Element: SGrid, styles, scale, ticks, indexScale } = props;\n\n return ticks.map((value, i) => {\n return sstyled(styles)(\n <SGrid key={i} render=\"line\" {...MAP_POSITION_GRID[indexScale](scale, value)} />,\n );\n });\n}\n\nfunction Title(props) {\n const { Element: STitle, styles, scale, position } = props;\n\n return sstyled(styles)(\n <STitle\n render=\"text\"\n childrenPosition=\"inside\"\n position={position}\n {...MAP_POSITION_TITlE[position](scale)}\n />,\n );\n}\n\nconst XAxis = createElement(AxisRoot, {\n Ticks,\n Grid,\n Title,\n});\nXAxis.defaultProps = {\n indexScale: 0,\n position: 'bottom',\n};\n\nconst YAxis = createElement(AxisRoot, {\n Ticks,\n Grid,\n Title,\n});\nYAxis.defaultProps = {\n indexScale: 1,\n position: 'left',\n hide: true,\n};\n\nexport { XAxis, YAxis };\n"],"file":"Axis.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/Axis.jsx"],"names":["CUSTOM_0","Symbol","CUSTOM_1","MAP_INDEX_SCALE_SYMBOL","MAP_POSITION_REVERT","top","right","bottom","left","MAP_POSITION_AXIS","xScale","yScale","xRange","range","yRange","x1","y1","x2","y2","pos","MAP_POSITION_TICK","value","x","y","MAP_POSITION_GRID","TICKS_OVERLAP_SHIFT","MAP_POSITION_TITlE","renderValue","Date","toLocaleDateString","AxisRoot","asProps","ticks","indexScale","scale","scl","domain","position","SAxis","Element","styles","hide","Component","style","Ticks","props","STick","positionClass","map","i","Grid","SGrid","Title","STitle","sstyles","sTitleStyles","cn","toFixed","className","XAxis","defaultProps","YAxis"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport { scaleOfBandwidth } from './utils';\n\nimport style from './style/axis.shadow.css';\n\nconst CUSTOM_0 = Symbol('custom_0');\nconst CUSTOM_1 = Symbol('custom_1');\n\nconst MAP_INDEX_SCALE_SYMBOL = {\n 0: CUSTOM_0,\n 1: CUSTOM_1,\n};\n\nconst MAP_POSITION_REVERT = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n};\n\nconst MAP_POSITION_AXIS = {\n top: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[0],\n y1: yRange[1],\n x2: xRange[1],\n y2: yRange[1],\n };\n },\n bottom: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[0],\n y1: yRange[0],\n x2: xRange[1],\n y2: yRange[0],\n };\n },\n right: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[1],\n y1: yRange[0],\n x2: xRange[1],\n y2: yRange[1],\n };\n },\n left: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x1: xRange[0],\n y1: yRange[0],\n x2: xRange[0],\n y2: yRange[1],\n };\n },\n [CUSTOM_0]: ([xScale, yScale], pos) => {\n const xRange = xScale.range();\n return {\n x1: xRange[0],\n y1: scaleOfBandwidth(yScale, pos),\n x2: xRange[1],\n y2: scaleOfBandwidth(yScale, pos),\n };\n },\n [CUSTOM_1]: ([xScale, yScale], pos) => {\n const yRange = yScale.range();\n return {\n x1: scaleOfBandwidth(xScale, pos),\n y1: yRange[0],\n x2: scaleOfBandwidth(xScale, pos),\n y2: yRange[1],\n };\n },\n};\n\nconst MAP_POSITION_TICK = {\n top: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n return {\n x: scaleOfBandwidth(xScale, value),\n y: yRange[1],\n };\n },\n bottom: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n return {\n x: scaleOfBandwidth(xScale, value),\n y: yRange[0],\n };\n },\n right: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n return {\n x: xRange[1],\n y: scaleOfBandwidth(yScale, value),\n };\n },\n left: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n return {\n x: xRange[0],\n y: scaleOfBandwidth(yScale, value),\n };\n },\n [CUSTOM_0]: ([xScale, yScale], value, pos) => {\n return {\n x: scaleOfBandwidth(xScale, value),\n y: scaleOfBandwidth(yScale, pos),\n };\n },\n [CUSTOM_1]: ([xScale, yScale], value, pos) => {\n return {\n x: scaleOfBandwidth(xScale, pos),\n y: scaleOfBandwidth(yScale, value),\n };\n },\n};\n\nconst MAP_POSITION_GRID = {\n 0: ([xScale, yScale], value) => {\n const yRange = yScale.range();\n const x = scaleOfBandwidth(xScale, value);\n return {\n x1: x,\n y1: yRange[0],\n x2: x,\n y2: yRange[1],\n };\n },\n 1: ([xScale, yScale], value) => {\n const xRange = xScale.range();\n const y = scaleOfBandwidth(yScale, value);\n return {\n x1: xRange[0],\n y1: y,\n x2: xRange[1],\n y2: y,\n };\n },\n};\n\nconst TICKS_OVERLAP_SHIFT = 15;\nconst MAP_POSITION_TITlE = {\n top: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x: xRange[1] / 2,\n y: yRange[1],\n };\n },\n bottom: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x: xRange[1] / 2,\n y: yRange[0] + TICKS_OVERLAP_SHIFT,\n };\n },\n right: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x: xRange[1],\n y: (yRange[0] + yRange[1]) / 2,\n };\n },\n left: ([xScale, yScale]) => {\n const xRange = xScale.range();\n const yRange = yScale.range();\n return {\n x: xRange[0] / 2,\n y: (yRange[0] + yRange[1]) / 2,\n };\n },\n};\n\nfunction renderValue(value) {\n if (value instanceof Date) {\n return value.toLocaleDateString();\n }\n return value;\n}\n\nclass AxisRoot extends Component {\n static displayName = 'Axis';\n\n static style = style;\n\n get ticks() {\n const { ticks, indexScale, scale } = this.asProps;\n const scl = scale[indexScale];\n return ticks || (scl.ticks && scl.ticks()) || (scl.domain && scl.domain()) || [];\n }\n\n getTitleProps() {\n const { position } = this.asProps;\n return {\n position: MAP_POSITION_REVERT[position],\n };\n }\n\n getTicksProps() {\n const { position, indexScale } = this.asProps;\n return {\n ticks: this.ticks,\n indexScale,\n position,\n };\n }\n\n getGridProps() {\n const { indexScale } = this.asProps;\n return {\n ticks: this.ticks,\n indexScale,\n };\n }\n\n render() {\n const SAxis = this.Element;\n const { styles, position, scale, hide, indexScale } = this.asProps;\n\n const pos =\n MAP_POSITION_AXIS[position] ?? MAP_POSITION_AXIS[MAP_INDEX_SCALE_SYMBOL[indexScale]];\n\n return sstyled(styles)(<SAxis render=\"line\" hide={hide} {...pos(scale, position)} />);\n }\n}\n\nfunction Ticks(props) {\n const { Element: STick, styles, scale, ticks, position, hide, indexScale } = props;\n\n const pos = MAP_POSITION_TICK[position] ?? MAP_POSITION_TICK[MAP_INDEX_SCALE_SYMBOL[indexScale]];\n const positionClass = MAP_POSITION_TICK[position] ? position : 'custom_' + indexScale;\n\n return ticks.map((value, i) => {\n return sstyled(styles)(\n <STick\n key={i}\n render=\"text\"\n childrenPosition=\"inside\"\n __excludeProps={['data', 'scale', 'format', 'value']}\n value={value}\n index={i}\n position={positionClass}\n hide={hide}\n {...pos(scale, value, position)}\n >\n {renderValue(value)}\n </STick>,\n );\n });\n}\n\nfunction Grid(props) {\n const { Element: SGrid, styles, scale, ticks, indexScale } = props;\n\n return ticks.map((value, i) => {\n return sstyled(styles)(\n <SGrid key={i} render=\"line\" {...MAP_POSITION_GRID[indexScale](scale, value)} />,\n );\n });\n}\n\nfunction Title(props) {\n const { Element: STitle, styles, scale, position } = props;\n\n const { x, y } = MAP_POSITION_TITlE[position](scale);\n\n const sstyles = sstyled(styles);\n const sTitleStyles = sstyles.cn('STitle', {\n 'transform-origin': `${x.toFixed(2)}px ${y.toFixed(2)}px`,\n });\n\n return sstyled(styles)(\n <STitle\n render=\"text\"\n childrenPosition=\"inside\"\n position={position}\n className={sTitleStyles.className}\n style={sTitleStyles.style}\n x={x}\n y={y}\n />,\n );\n}\n\nconst XAxis = createElement(AxisRoot, {\n Ticks,\n Grid,\n Title,\n});\nXAxis.defaultProps = {\n indexScale: 0,\n position: 'bottom',\n};\n\nconst YAxis = createElement(AxisRoot, {\n Ticks,\n Grid,\n Title,\n});\nYAxis.defaultProps = {\n indexScale: 1,\n position: 'left',\n hide: true,\n};\n\nexport { XAxis, YAxis };\n"],"file":"Axis.js"}
|
package/lib/cjs/Bar.js
CHANGED
|
@@ -44,17 +44,17 @@ var style = (
|
|
|
44
44
|
/*__reshadow_css_start__*/
|
|
45
45
|
_core.sstyled.insert(
|
|
46
46
|
/*__inner_css_start__*/
|
|
47
|
-
".
|
|
47
|
+
".___SBar_1fm2a_gg_{fill:#2bb3ff;transition-property:height,width,y;transition-duration:var(--duration_1iw4ich);transition-timing-function:ease-in-out}.___SBar_1fm2a_gg_.__color_1fm2a_gg_{fill:var(--color_1iw4ich)}.___SBar_1fm2a_gg_.__hide_1fm2a_gg_{display:none}.___SBackground_1fm2a_gg_{fill:#c4c7cf}"
|
|
48
48
|
/*__inner_css_end__*/
|
|
49
|
-
, "
|
|
49
|
+
, "1iw4ich_gg_")
|
|
50
50
|
/*__reshadow_css_end__*/
|
|
51
51
|
, {
|
|
52
|
-
"__SBar": "
|
|
53
|
-
"--duration": "--
|
|
54
|
-
"_color": "
|
|
55
|
-
"--color": "--
|
|
56
|
-
"_hide": "
|
|
57
|
-
"__SBackground": "
|
|
52
|
+
"__SBar": "___SBar_1fm2a_gg_",
|
|
53
|
+
"--duration": "--duration_1iw4ich",
|
|
54
|
+
"_color": "__color_1fm2a_gg_",
|
|
55
|
+
"--color": "--color_1iw4ich",
|
|
56
|
+
"_hide": "__hide_1fm2a_gg_",
|
|
57
|
+
"__SBackground": "___SBackground_1fm2a_gg_"
|
|
58
58
|
});
|
|
59
59
|
|
|
60
60
|
var BarRoot = /*#__PURE__*/function (_Component) {
|
|
@@ -103,7 +103,7 @@ var BarRoot = /*#__PURE__*/function (_Component) {
|
|
|
103
103
|
}, {
|
|
104
104
|
key: "renderBar",
|
|
105
105
|
value: function renderBar(d, i) {
|
|
106
|
-
var _ref
|
|
106
|
+
var _ref;
|
|
107
107
|
|
|
108
108
|
var SBar = this.Element;
|
|
109
109
|
var _this$asProps3 = this.asProps,
|
|
@@ -124,9 +124,9 @@ var BarRoot = /*#__PURE__*/function (_Component) {
|
|
|
124
124
|
xScale = _scale[0],
|
|
125
125
|
yScale = _scale[1];
|
|
126
126
|
|
|
127
|
-
var barY = yScale(Math.max(
|
|
127
|
+
var barY = yScale(Math.max(d[y0] ?? 0, d[y])) + offset[1];
|
|
128
128
|
var barX = xScale(d[x]) + offset[0];
|
|
129
|
-
var height = Math.abs(yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(
|
|
129
|
+
var height = Math.abs(yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[y0] ?? 0)));
|
|
130
130
|
var width = widthProps || (0, _utils.getBandwidth)(xScale);
|
|
131
131
|
var dSvg = getRect({
|
|
132
132
|
x: barX,
|
package/lib/cjs/Bar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Bar.jsx"],"names":["BarRoot","props","index","asProps","x","data","value","duration","uid","selectRect","selection","selectAll","selectRectNode","node","getAttribute","transition","attr","animationBar","d","i","SBar","Element","styles","color","y","y0","scale","hide","offset","r","widthProps","width","xScale","yScale","barY","Math","max","barX","height","abs","min","domain","dSvg","getRect","radius","Array","isArray","position","size","map","renderBar","bind","Component","style","Background","SBackground","yRange","range","bandwidth"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;;AAFA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;IAIMA,O;;;;;;;;;;;;WAWJ,4BAAmBC,KAAnB,EAA0BC,KAA1B,EAAiC;AAC/B,0BAAoB,KAAKC,OAAzB;AAAA,UAAQC,CAAR,iBAAQA,CAAR;AAAA,UAAWC,IAAX,iBAAWA,IAAX;AACA,aAAO;AACLC,QAAAA,KAAK,EAAED,IAAI,CAACH,KAAD,CAAJ,CAAYE,CAAZ;AADF,OAAP;AAGD;;;WAED,wBAAe;AACb,2BAA0B,KAAKD,OAA/B;AAAA,UAAQI,QAAR,kBAAQA,QAAR;AAAA,UAAkBC,GAAlB,kBAAkBA,GAAlB;AACA,UAAMC,UAAU,GAAG,gCAAaC,SAAb,GAAyBC,SAAzB,YAAuCH,GAAvC,WAAnB;AACA,UAAMI,cAAc,GAAGH,UAAU,CAACI,IAAX,EAAvB;;AAEA,UAAIN,QAAQ,GAAG,CAAX,IAAgBK,cAAhB,IAAkCA,cAAc,CAACE,YAAf,CAA4B,GAA5B,MAAqC,GAA3E,EAAgF;AAC9EL,QAAAA,UAAU,CAACM,UAAX,GAAwBR,QAAxB,CAAiCA,QAAjC,EAA2CS,IAA3C,CAAgD,GAAhD,EAAqD,CAArD;AACD;AACF;;;WAED,8BAAqB;AACnB,WAAKC,YAAL;AACD;;;WAED,6BAAoB;AAClB,WAAKA,YAAL;AACD;;;WAED,mBAAUC,CAAV,EAAaC,CAAb,EAAgB;AAAA;;AACd,UAAMC,IAAI,GAAG,KAAKC,OAAlB;AACA,2BAaI,KAAKlB,OAbT;AAAA,UACEmB,MADF,kBACEA,MADF;AAAA,UAEEC,KAFF,kBAEEA,KAFF;AAAA,UAGEnB,CAHF,kBAGEA,CAHF;AAAA,UAIEoB,CAJF,kBAIEA,CAJF;AAAA,UAKEC,EALF,kBAKEA,EALF;AAAA,UAMEC,KANF,kBAMEA,KANF;AAAA,UAOEC,IAPF,kBAOEA,IAPF;AAAA,UAQEC,MARF,kBAQEA,MARF;AAAA,UASErB,QATF,kBASEA,QATF;AAAA,UAUEC,GAVF,kBAUEA,GAVF;AAAA,UAWEqB,CAXF,kBAWEA,CAXF;AAAA,UAYSC,UAZT,kBAYEC,KAZF;;AAeA,mDAAyBL,KAAzB;AAAA,UAAOM,MAAP;AAAA,UAAeC,MAAf;;AACA,UAAMC,IAAI,GAAGD,MAAM,CAACE,IAAI,CAACC,GAAL,
|
|
1
|
+
{"version":3,"sources":["../../src/Bar.jsx"],"names":["BarRoot","props","index","asProps","x","data","value","duration","uid","selectRect","selection","selectAll","selectRectNode","node","getAttribute","transition","attr","animationBar","d","i","SBar","Element","styles","color","y","y0","scale","hide","offset","r","widthProps","width","xScale","yScale","barY","Math","max","barX","height","abs","min","domain","dSvg","getRect","radius","Array","isArray","position","size","map","renderBar","bind","Component","style","Background","SBackground","yRange","range","bandwidth"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport ClipPath from './ClipPath';\nimport { getBandwidth, roundedPath } from './utils';\n\nimport style from './style/bar.shadow.css';\n\nclass BarRoot extends Component {\n static displayName = 'Bar';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n r: 2,\n };\n\n getBackgroundProps(props, index) {\n const { x, data } = this.asProps;\n return {\n value: data[index][x],\n };\n }\n\n animationBar() {\n const { duration, uid } = this.asProps;\n const selectRect = transition().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,\n duration,\n uid,\n r,\n width: widthProps,\n } = this.asProps;\n\n const [xScale, yScale] = scale;\n const barY = yScale(Math.max(d[y0] ?? 0, d[y])) + offset[1];\n const barX = xScale(d[x]) + offset[0];\n const height = Math.abs(\n yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[y0] ?? 0)),\n );\n const width = widthProps || getBandwidth(xScale);\n const dSvg = getRect({\n x: barX,\n y: barY,\n width,\n height,\n radius: Array.isArray(r) ? r[i] : r,\n position: d[y] > 0 ? 'top' : 'bottom',\n });\n\n return sstyled(styles)(\n <SBar\n key={`bar-${i}`}\n render=\"path\"\n clipPath={`url(#${uid})`}\n __excludeProps={['data', 'scale', 'value']}\n childrenPosition=\"above\"\n value={d}\n index={i}\n hide={hide}\n color={color}\n x={barX}\n y={barY}\n width={width}\n height={height}\n d={dSvg}\n use:duration={`${duration}ms`}\n />,\n );\n }\n render() {\n const { data, uid, size, duration } = this.asProps;\n return (\n <>\n {data.map(this.renderBar.bind(this))}\n {duration && (\n <ClipPath\n key={`${uid}-animation`}\n id={uid}\n x=\"0\"\n y={size[1]}\n width={size[0]}\n height={`${size[1]}px`}\n />\n )}\n </>\n );\n }\n}\n\nfunction Background(props) {\n const { Element: SBackground, styles, scale, value } = props;\n\n const [xScale, yScale] = scale;\n const yRange = yScale.range();\n\n return sstyled(styles)(\n <SBackground\n render=\"rect\"\n childrenPosition=\"above\"\n width={xScale.bandwidth()}\n height={yRange[0] - yRange[1]}\n x={xScale(value)}\n y={yRange[1]}\n />,\n );\n}\n\nfunction getRect({ x, y, width, height, radius, position }) {\n if (height <= radius) return '';\n if (radius) {\n if (position === 'top')\n return roundedPath(x, y, width, height, radius, true, true, false, false);\n return roundedPath(x, y, width, height, radius, false, false, true, true);\n }\n return roundedPath(x, y, width, height, radius);\n}\n\nexport default createElement(BarRoot, { Background });\n"],"file":"Bar.js"}
|
package/lib/cjs/Bubble.js
CHANGED
|
@@ -56,40 +56,19 @@ var style = (
|
|
|
56
56
|
/*__reshadow_css_start__*/
|
|
57
57
|
_core.sstyled.insert(
|
|
58
58
|
/*__inner_css_start__*/
|
|
59
|
-
".
|
|
59
|
+
".___SBubble_1hkv5_gg_{fill:#2bb3ff;stroke:#fff;stroke-width:2px;transition-property:cx,cy;transition-duration:var(--duration_no5xh6);transition-timing-function:ease-in-out;opacity:.5}.___SBubble_1hkv5_gg_:hover{opacity:.8}.___SBubble_1hkv5_gg_.__color_1hkv5_gg_{fill:var(--color_no5xh6)}.___SCenter_1hkv5_gg_{text-anchor:middle;font-size:11px;stroke:#2bb3ff}.___SCenter_1hkv5_gg_.__color_1hkv5_gg_{stroke:var(--color_no5xh6)}.___SLabel_1hkv5_gg_{fill:#2bb3ff}.___SLabel_1hkv5_gg_._position_right_1hkv5_gg_{text-anchor:end}.___SLabel_1hkv5_gg_._position_left_1hkv5_gg_{text-anchor:start}.___SLabel_1hkv5_gg_.__color_1hkv5_gg_{fill:var(--color_no5xh6)}"
|
|
60
60
|
/*__inner_css_end__*/
|
|
61
|
-
, "
|
|
61
|
+
, "no5xh6_gg_")
|
|
62
62
|
/*__reshadow_css_end__*/
|
|
63
63
|
, {
|
|
64
|
-
"__SBubble": "
|
|
65
|
-
"--duration": "--
|
|
66
|
-
"_color": "
|
|
67
|
-
"--color": "--
|
|
68
|
-
"__SCenter": "
|
|
69
|
-
"__SLabel": "
|
|
70
|
-
"_position_right": "
|
|
71
|
-
"_position_left": "
|
|
72
|
-
});
|
|
73
|
-
|
|
74
|
-
var memoize = function memoize(func) {
|
|
75
|
-
var results = {};
|
|
76
|
-
return function (argsKey) {
|
|
77
|
-
if (!results[argsKey]) {
|
|
78
|
-
results[argsKey] = func(argsKey);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
return results[argsKey];
|
|
82
|
-
};
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
var measureText = memoize(function (text) {
|
|
86
|
-
var span = document.createElement('span');
|
|
87
|
-
span.append(document.createTextNode(text));
|
|
88
|
-
span.style.display = 'inline-block';
|
|
89
|
-
document.body.append(span);
|
|
90
|
-
var textLength = span.offsetWidth;
|
|
91
|
-
span.remove();
|
|
92
|
-
return textLength;
|
|
64
|
+
"__SBubble": "___SBubble_1hkv5_gg_",
|
|
65
|
+
"--duration": "--duration_no5xh6",
|
|
66
|
+
"_color": "__color_1hkv5_gg_",
|
|
67
|
+
"--color": "--color_no5xh6",
|
|
68
|
+
"__SCenter": "___SCenter_1hkv5_gg_",
|
|
69
|
+
"__SLabel": "___SLabel_1hkv5_gg_",
|
|
70
|
+
"_position_right": "_position_right_1hkv5_gg_",
|
|
71
|
+
"_position_left": "_position_left_1hkv5_gg_"
|
|
93
72
|
});
|
|
94
73
|
|
|
95
74
|
var BubbleRoot = /*#__PURE__*/function (_Component) {
|
|
@@ -170,7 +149,7 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
|
|
|
170
149
|
}, {
|
|
171
150
|
key: "renderCircle",
|
|
172
151
|
value: function renderCircle(d, i) {
|
|
173
|
-
var _ref
|
|
152
|
+
var _ref;
|
|
174
153
|
|
|
175
154
|
var _this$asProps2 = this.asProps,
|
|
176
155
|
color = _this$asProps2.color,
|
|
@@ -198,7 +177,7 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
|
|
|
198
177
|
return el[value];
|
|
199
178
|
})))]).range([5.5, 50.5]);
|
|
200
179
|
var margin = Math.min(xScale.range()[0], xScale.range()[1]);
|
|
201
|
-
var labelPosition = size[0] - 2 * margin - (xScale(d[x]) + offset[0] + z(d[value])) < measureText(d[label]) ? 'right' : 'left';
|
|
180
|
+
var labelPosition = size[0] - 2 * margin - (xScale(d[x]) + offset[0] + z(d[value])) < (0, _utils.measureText)(d[label]) ? 'right' : 'left';
|
|
202
181
|
var labelDistance = {
|
|
203
182
|
right: xScale(d[x]) + offset[0] - z(d[value]),
|
|
204
183
|
left: xScale(d[x]) + offset[0] + z(d[value])
|
|
@@ -216,7 +195,7 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
|
|
|
216
195
|
"y": yScale(d[y]) + offset[1],
|
|
217
196
|
"dy": ".3em",
|
|
218
197
|
"clipPath": "url(#".concat(uid, ")"),
|
|
219
|
-
"color":
|
|
198
|
+
"color": d[color] ?? color
|
|
220
199
|
}), "+"), /*#__PURE__*/_react["default"].createElement(SBubble, _ref.cn("SBubble", {
|
|
221
200
|
"id": "".concat(uid).concat(uid),
|
|
222
201
|
"render": "circle",
|
package/lib/cjs/Bubble.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Bubble.jsx"],"names":["memoize","func","results","argsKey","measureText","text","span","document","createElement","append","createTextNode","style","display","body","textLength","offsetWidth","remove","BubbleRoot","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","width","height","top","right","bottom","left","duration","uid","data","value","z","domain","Math","max","map","el","range","selectRect","selection","selectAll","attr","selectRectNode","node","transition","_","ind","animationCircle","d","i","color","scale","offset","styles","label","markedCross","size","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","min","labelPosition","labelDistance","bindHandlerTooltip","xIndex","xSize","abs","ySize","xMargin","yMargin","renderCircle","bind","Component","Bubble"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { CONSTANT } from './utils';\nimport createElement from './createElement';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { transition } from 'd3-transition';\nimport style from './style/bubble.shadow.css';\nimport ClipPath from './ClipPath';\nimport { scaleSqrt } from 'd3-scale';\n\nconst memoize = (func) => {\n const results = {};\n return (argsKey) => {\n if (!results[argsKey]) {\n results[argsKey] = func(argsKey);\n }\n return results[argsKey];\n };\n};\n\nconst measureText = memoize((text) => {\n const span = document.createElement('span');\n span.append(document.createTextNode(text));\n span.style.display = 'inline-block';\n document.body.append(span);\n const textLength = span.offsetWidth;\n span.remove();\n return textLength;\n});\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 =\n (visible, props) =>\n ({ 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 } = 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 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 >\n +\n </SCenter>\n )}\n <SBubble\n id={`${uid}${uid}`}\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 />\n {d[label] && (\n <SLabel\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 >\n {d[label]}\n </SLabel>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale } = 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 return (\n <>\n {data.map(this.renderCircle.bind(this))}\n {data.map(this.animationCircle.bind(this))}\n <ClipPath id={uid} x={xMargin} y={yMargin} width={`${xSize}px`} height={`${ySize}px`} />\n </>\n );\n }\n}\n\nconst Bubble = createElement(BubbleRoot);\n\nexport default Bubble;\n"],"file":"Bubble.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/Bubble.jsx"],"names":["BubbleRoot","document","createElement","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","width","height","top","right","bottom","left","duration","uid","data","value","z","domain","Math","max","map","el","range","selectRect","selection","selectAll","attr","selectRectNode","node","transition","_","ind","animationCircle","d","i","color","scale","offset","styles","label","markedCross","size","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","min","labelPosition","labelDistance","bindHandlerTooltip","xIndex","xSize","abs","ySize","xMargin","yMargin","renderCircle","bind","Component","style","Bubble"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { CONSTANT, measureText } from './utils';\nimport createElement from './createElement';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { transition } from 'd3-transition';\nimport style from './style/bubble.shadow.css';\nimport ClipPath from './ClipPath';\nimport { scaleSqrt } from 'd3-scale';\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 =\n (visible, props) =>\n ({ 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 } = 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 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 >\n +\n </SCenter>\n )}\n <SBubble\n id={`${uid}${uid}`}\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 />\n {d[label] && (\n <SLabel\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 >\n {d[label]}\n </SLabel>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale } = 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 return (\n <>\n {data.map(this.renderCircle.bind(this))}\n {data.map(this.animationCircle.bind(this))}\n <ClipPath id={uid} x={xMargin} y={yMargin} width={`${xSize}px`} height={`${ySize}px`} />\n </>\n );\n }\n}\n\nconst Bubble = createElement(BubbleRoot);\n\nexport default Bubble;\n"],"file":"Bubble.js"}
|
package/lib/cjs/ClipPath.js
CHANGED
|
@@ -62,7 +62,7 @@ var ClipPath = /*#__PURE__*/function (_Component) {
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
65
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "refClipPath",
|
|
65
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "refClipPath", _react["default"].createRef());
|
|
66
66
|
return _this;
|
|
67
67
|
}
|
|
68
68
|
|
|
@@ -97,6 +97,7 @@ var ClipPath = /*#__PURE__*/function (_Component) {
|
|
|
97
97
|
}, {
|
|
98
98
|
key: "render",
|
|
99
99
|
value: function render() {
|
|
100
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
100
101
|
var _this$asProps2 = this.asProps,
|
|
101
102
|
id = _this$asProps2.id,
|
|
102
103
|
transition = _this$asProps2.transition,
|
package/lib/cjs/ClipPath.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ClipPath.jsx"],"names":["ClipPath","React","createRef","asProps","id","tag","setAttributeTag","Array","from","document","querySelectorAll","forEach","querySelector","svg","closest","node","getTotalLength","transition","Tag","style","className","other","refClipPath","Component"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;;;;;;IAEMA,Q;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../src/ClipPath.jsx"],"names":["ClipPath","React","createRef","asProps","id","tag","setAttributeTag","Array","from","document","querySelectorAll","forEach","querySelector","svg","closest","node","getTotalLength","transition","Tag","style","className","other","refClipPath","Component"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;;;;;;IAEMA,Q;;;;;;;;;;;;;;;oGAQUC,kBAAMC,SAAN,E;;;;;;WAEd,2BAAkB;AAChB,0BAAqC,KAAKC,OAA1C;AAAA,UAAQC,EAAR,iBAAQA,EAAR;AAAA,UAAYC,GAAZ,iBAAYA,GAAZ;AAAA,UAAiBC,eAAjB,iBAAiBA,eAAjB;;AACA,UAAIA,eAAJ,EAAqB;AACnBC,QAAAA,KAAK,CAACC,IAAN,CAAWC,QAAQ,CAACC,gBAAT,YAA8BN,EAA9B,cAAoCC,GAApC,EAAX,EAAuDM,OAAvD,CAA+DL,eAA/D;AACD;AACF;;;WAED,6BAAoB;AAClB,UAAQF,EAAR,GAAe,KAAKD,OAApB,CAAQC,EAAR;AACA,UAAI,CAACK,QAAD,IAAa,CAACL,EAAd,IAAoB,CAACK,QAAQ,CAACG,aAAT,YAA2BR,EAA3B,EAAzB,EAA2D;AAC3D,UAAMS,GAAG,GAAGJ,QAAQ,CAACG,aAAT,YAA2BR,EAA3B,GAAiCU,OAAjC,CAAyC,KAAzC,CAAZ;AACAP,MAAAA,KAAK,CAACC,IAAN,CAAWK,GAAG,CAACH,gBAAJ,6BAAyCN,EAAzC,UAAX,EAA8DO,OAA9D,CAAsE,UAACI,IAAD,EAAU;AAC9EA,QAAAA,IAAI,IAAIA,IAAI,CAACC,cAAb,IAA+BD,IAAI,CAACC,cAAL,EAA/B;AACD,OAFD;AAGA,WAAKV,eAAL;AACD;;;WAED,8BAAqB;AACnB,WAAKA,eAAL;AACD;;;WAED,kBAAS;AACP;AACA,2BAAiE,KAAKH,OAAtE;AAAA,UAAQC,EAAR,kBAAQA,EAAR;AAAA,UAAYa,UAAZ,kBAAYA,UAAZ;AAAA,UAA6BC,GAA7B,kBAAwBb,GAAxB;AAAA,UAAkCc,KAAlC,kBAAkCA,KAAlC;AAAA,UAAyCC,SAAzC,kBAAyCA,SAAzC;AAAA,UAAuDC,KAAvD;AACA,0BACE;AAAU,QAAA,GAAG,EAAE,KAAKC,WAApB;AAAiC,QAAA,EAAE,EAAElB;AAArC,sBACE,gCAAC,GAAD;AAAK,QAAA,KAAK,kCAAOe,KAAP;AAAcF,UAAAA,UAAU,EAAVA;AAAd;AAAV,SAA0C,iCAAgBI,KAAhB,EAAuBH,GAAvB,CAA1C,EADF,CADF;AAKD;;;EAvCoBK,e;;iCAAjBvB,Q,kBACkB;AACpBK,EAAAA,GAAG,EAAE,MADe;AAEpBD,EAAAA,EAAE,EAAE,EAFgB;AAGpBa,EAAAA,UAAU,EAAE,EAHQ;AAIpBX,EAAAA,eAAe,EAAE;AAJG,C;;eAyCT,sBAAgBN,QAAhB,C","sourcesContent":["import React from 'react';\nimport createComponent, { Component } from '@semcore/core';\nimport propsForElement from '@semcore/utils/lib/propsForElement';\n\nclass ClipPath extends Component {\n static defaultProps = {\n tag: 'rect',\n id: '',\n transition: '',\n setAttributeTag: null,\n };\n\n refClipPath = React.createRef();\n\n setAttributeTag() {\n const { id, tag, setAttributeTag } = this.asProps;\n if (setAttributeTag) {\n Array.from(document.querySelectorAll(`#${id} ${tag}`)).forEach(setAttributeTag);\n }\n }\n\n componentDidMount() {\n const { id } = this.asProps;\n if (!document || !id || !document.querySelector(`#${id}`)) return;\n const svg = document.querySelector(`#${id}`).closest('svg');\n Array.from(svg.querySelectorAll(`[clip-path=\"url(#${id})\"]`)).forEach((node) => {\n node && node.getTotalLength && node.getTotalLength();\n });\n this.setAttributeTag();\n }\n\n componentDidUpdate() {\n this.setAttributeTag();\n }\n\n render() {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { id, transition, tag: Tag, style, className, ...other } = this.asProps;\n return (\n <clipPath ref={this.refClipPath} id={id}>\n <Tag style={{ ...style, transition }} {...propsForElement(other, Tag)} />\n </clipPath>\n );\n }\n}\n\nexport default createComponent(ClipPath);\n"],"file":"ClipPath.js"}
|
package/lib/cjs/Donut.js
CHANGED
|
@@ -52,16 +52,16 @@ var style = (
|
|
|
52
52
|
/*__reshadow_css_start__*/
|
|
53
53
|
_core.sstyled.insert(
|
|
54
54
|
/*__inner_css_start__*/
|
|
55
|
-
".
|
|
55
|
+
".___SPie_60wu6_gg_{stroke:#fff;fill:#2bb3ff}.___SPie_60wu6_gg_.__color_60wu6_gg_{fill:var(--color_q6oc02)}.___SEmptyData_60wu6_gg_{fill:#e0e1e9}.___SEmptyData_60wu6_gg_.__color_60wu6_gg_{fill:var(--color_q6oc02)}.___SLabel_60wu6_gg_{text-anchor:middle;vertical-anchor:middle}"
|
|
56
56
|
/*__inner_css_end__*/
|
|
57
|
-
, "
|
|
57
|
+
, "q6oc02_gg_")
|
|
58
58
|
/*__reshadow_css_end__*/
|
|
59
59
|
, {
|
|
60
|
-
"__SPie": "
|
|
61
|
-
"_color": "
|
|
62
|
-
"--color": "--
|
|
63
|
-
"__SEmptyData": "
|
|
64
|
-
"__SLabel": "
|
|
60
|
+
"__SPie": "___SPie_60wu6_gg_",
|
|
61
|
+
"_color": "__color_60wu6_gg_",
|
|
62
|
+
"--color": "--color_q6oc02",
|
|
63
|
+
"__SEmptyData": "___SEmptyData_60wu6_gg_",
|
|
64
|
+
"__SLabel": "___SLabel_60wu6_gg_"
|
|
65
65
|
});
|
|
66
66
|
var DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');
|
|
67
67
|
|
|
@@ -213,7 +213,7 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
213
213
|
|
|
214
214
|
if (d3Pie[DEFAULT_INSTANCE]) {
|
|
215
215
|
var keys = _react["default"].Children.toArray((0, _getOriginChildren["default"])(Children)).reduce(function (acc, child) {
|
|
216
|
-
if (
|
|
216
|
+
if (_react["default"].isValidElement(child) && child.type === Donut.Pie) {
|
|
217
217
|
acc.push(child.props.dataKey);
|
|
218
218
|
}
|
|
219
219
|
|