@semcore/d3-chart 1.5.1 → 1.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/lib/cjs/Area.js +11 -9
- package/lib/cjs/Area.js.map +1 -1
- package/lib/cjs/Axis.js +12 -12
- package/lib/cjs/Bar.js +17 -13
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Donut.js +3 -3
- package/lib/cjs/Dots.js +10 -8
- package/lib/cjs/Dots.js.map +1 -1
- package/lib/cjs/GroupBar.js +7 -7
- package/lib/cjs/GroupBar.js.map +1 -1
- package/lib/cjs/HorizontalBar.js +17 -13
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Hover.js +9 -7
- package/lib/cjs/Hover.js.map +1 -1
- package/lib/cjs/Line.js +10 -8
- package/lib/cjs/Line.js.map +1 -1
- package/lib/cjs/Plot.js +4 -6
- package/lib/cjs/Plot.js.map +1 -1
- package/lib/cjs/StackBar.js +38 -14
- package/lib/cjs/StackBar.js.map +1 -1
- package/lib/cjs/StackedArea.js +10 -9
- package/lib/cjs/StackedArea.js.map +1 -1
- package/lib/cjs/Tooltip.js +5 -5
- package/lib/cjs/Venn.js +3 -3
- package/lib/es6/Area.js +11 -9
- package/lib/es6/Area.js.map +1 -1
- package/lib/es6/Axis.js +12 -12
- package/lib/es6/Bar.js +17 -13
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Donut.js +3 -3
- package/lib/es6/Dots.js +9 -8
- package/lib/es6/Dots.js.map +1 -1
- package/lib/es6/GroupBar.js +7 -7
- package/lib/es6/GroupBar.js.map +1 -1
- package/lib/es6/HorizontalBar.js +17 -13
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Hover.js +8 -7
- package/lib/es6/Hover.js.map +1 -1
- package/lib/es6/Line.js +10 -8
- package/lib/es6/Line.js.map +1 -1
- package/lib/es6/Plot.js +4 -5
- package/lib/es6/Plot.js.map +1 -1
- package/lib/es6/StackBar.js +38 -14
- package/lib/es6/StackBar.js.map +1 -1
- package/lib/es6/StackedArea.js +10 -9
- package/lib/es6/StackedArea.js.map +1 -1
- package/lib/es6/Tooltip.js +5 -5
- package/lib/es6/Venn.js +3 -3
- package/lib/types/Bar.d.ts +1 -1
- package/lib/types/HorizontalBar.d.ts +1 -1
- package/package.json +1 -1
- package/src/Area.js +2 -2
- package/src/Bar.js +13 -9
- package/src/Dots.js +9 -5
- package/src/GroupBar.js +6 -2
- package/src/HorizontalBar.js +14 -9
- package/src/Hover.js +5 -4
- package/src/Line.js +2 -2
- package/src/Plot.js +4 -5
- package/src/StackBar.js +24 -7
- package/src/StackedArea.js +3 -2
- package/src/types/Bar.d.ts +1 -1
- package/src/types/HorizontalBar.d.ts +1 -1
package/lib/es6/Plot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Plot.js"],"names":["React","createComponent","Component","Root","sstyled","Box","EventEmitter","eventToPoint","
|
|
1
|
+
{"version":3,"sources":["../../src/Plot.js"],"names":["React","createComponent","Component","Root","sstyled","Box","EventEmitter","eventToPoint","PlotRoot","props","createRef","e","scale","asProps","eventEmitter","emit","xScale","yScale","rootRef","current","pX","pY","range","minX","maxX","maxY","minY","data","width","height","$rootProps","size","SPlot","styles","handlerMouseMove","handlerMouseLeave"],"mappings":"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","sourcesContent":["import React from 'react';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport EventEmitter from '@semcore/utils/lib/eventEmitter';\nimport { eventToPoint } from './utils';\n\nclass PlotRoot extends Component {\n static displayName = 'Plot';\n\n constructor(props) {\n super(props);\n this.eventEmitter = props.eventEmitter || new EventEmitter();\n }\n\n static defaultProps = () => ({\n width: 0,\n height: 0,\n });\n\n rootRef = React.createRef();\n\n handlerMouseMove = (e) => {\n const { scale } = this.asProps;\n this.eventEmitter.emit(`onMouseMoveRoot`, e);\n\n if (scale) {\n const [xScale, yScale] = scale;\n const [pX, pY] = eventToPoint(e, this.rootRef.current);\n const [minX, maxX] = xScale.range();\n const [maxY, minY] = yScale.range();\n\n if (pX >= minX && pX <= maxX && (pY >= minY && pY <= maxY)) {\n this.eventEmitter.emit('onMouseMoveChart', e);\n } else {\n this.eventEmitter.emit('onMouseLeaveChart', e);\n }\n }\n };\n\n handlerMouseLeave = (e) => {\n this.eventEmitter.emit(`onMouseLeaveRoot`, e);\n this.eventEmitter.emit('onMouseLeaveChart', e);\n };\n\n setContext() {\n const { scale, data, width, height } = this.asProps;\n return {\n $rootProps: {\n size: [width, height],\n data: data,\n scale: scale,\n eventEmitter: this.eventEmitter,\n rootRef: this.rootRef,\n },\n };\n }\n\n render() {\n const SPlot = Root;\n const { styles, width, height } = this.asProps;\n\n if (!width || !height) return null;\n\n return sstyled(styles)(\n <SPlot\n render={Box}\n tag=\"svg\"\n __excludeProps={['data', 'scale']}\n ref={this.rootRef}\n onMouseMove={this.handlerMouseMove}\n onMouseLeave={this.handlerMouseLeave}\n />,\n );\n }\n}\n\nexport default createComponent(PlotRoot);\n"],"file":"Plot.js"}
|
package/lib/es6/StackBar.js
CHANGED
|
@@ -27,14 +27,14 @@ var _ref = (
|
|
|
27
27
|
/*__reshadow_css_start__*/
|
|
28
28
|
__css__(
|
|
29
29
|
/*__inner_css_start__*/
|
|
30
|
-
".
|
|
30
|
+
".___SBar_1v8ah_gg_{fill:var(--color);transition-property:height,width,y;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SBar_1v8ah_gg_.__hide_1v8ah_gg_{display:none}.___SBackground_1v8ah_gg_{fill:#e4ecf1}"
|
|
31
31
|
/*__inner_css_end__*/
|
|
32
|
-
, "
|
|
32
|
+
, "ikr3qt_gg_")
|
|
33
33
|
/*__reshadow_css_end__*/
|
|
34
34
|
, {
|
|
35
|
-
"__SBar": "
|
|
36
|
-
"_hide": "
|
|
37
|
-
"__SBackground": "
|
|
35
|
+
"__SBar": "___SBar_1v8ah_gg_",
|
|
36
|
+
"_hide": "__hide_1v8ah_gg_",
|
|
37
|
+
"__SBackground": "___SBackground_1v8ah_gg_"
|
|
38
38
|
}),
|
|
39
39
|
style = _extends({}, _ref);
|
|
40
40
|
|
|
@@ -62,11 +62,11 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
|
|
|
62
62
|
|
|
63
63
|
if (stack[DEFAULT_INSTANCE]) {
|
|
64
64
|
var keys = React.Children.toArray(getOriginChildren(Children)).reduce(function (acc, child) {
|
|
65
|
-
if ( /*#__PURE__*/React.isValidElement(child) && child.type === StackBar.Bar) {
|
|
65
|
+
if ( /*#__PURE__*/React.isValidElement(child) && child.type === StackBar.Bar && !child.props.hide) {
|
|
66
66
|
acc.push(child.props.y);
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
if ( /*#__PURE__*/React.isValidElement(child) && child.type === StackBar.HorizontalBar) {
|
|
69
|
+
if ( /*#__PURE__*/React.isValidElement(child) && child.type === StackBar.HorizontalBar && !child.props.hide) {
|
|
70
70
|
acc.push(child.props.x);
|
|
71
71
|
}
|
|
72
72
|
|
|
@@ -80,10 +80,21 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
|
|
|
80
80
|
}, {
|
|
81
81
|
key: "getBarProps",
|
|
82
82
|
value: function getBarProps(_ref2) {
|
|
83
|
+
var _this = this;
|
|
84
|
+
|
|
83
85
|
var y = _ref2.y;
|
|
84
|
-
var
|
|
85
|
-
|
|
86
|
+
var _this$asProps2 = this.asProps,
|
|
87
|
+
x = _this$asProps2.x,
|
|
88
|
+
r = _this$asProps2.r;
|
|
89
|
+
var seriesIndex = this.series.findIndex(function (s) {
|
|
86
90
|
return s.key === y;
|
|
91
|
+
}); // or [] if hide bar
|
|
92
|
+
|
|
93
|
+
var series = this.series[seriesIndex] || [];
|
|
94
|
+
var rBar = series.map(function (s, i) {
|
|
95
|
+
return _this.series.slice(seriesIndex + 1).some(function (bar) {
|
|
96
|
+
return bar[i][0] !== bar[i][1];
|
|
97
|
+
}) ? 0 : r;
|
|
87
98
|
});
|
|
88
99
|
return {
|
|
89
100
|
data: series.map(function (s) {
|
|
@@ -92,17 +103,28 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
|
|
|
92
103
|
return _objectSpread(_objectSpread({}, s.data), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, y, s[1]), _defineProperty(_objectSpread2, XY0, s[0]), _objectSpread2));
|
|
93
104
|
}),
|
|
94
105
|
y0: XY0,
|
|
95
|
-
x: x
|
|
106
|
+
x: x,
|
|
107
|
+
r: rBar
|
|
96
108
|
};
|
|
97
109
|
}
|
|
98
110
|
}, {
|
|
99
111
|
key: "getHorizontalBarProps",
|
|
100
112
|
value: function getHorizontalBarProps(_ref3) {
|
|
113
|
+
var _this2 = this;
|
|
114
|
+
|
|
101
115
|
var x = _ref3.x;
|
|
102
|
-
var
|
|
103
|
-
|
|
116
|
+
var _this$asProps3 = this.asProps,
|
|
117
|
+
y = _this$asProps3.y,
|
|
118
|
+
r = _this$asProps3.r;
|
|
119
|
+
var seriesIndex = this.series.findIndex(function (s) {
|
|
104
120
|
return s.key === x;
|
|
105
121
|
});
|
|
122
|
+
var series = this.series[seriesIndex];
|
|
123
|
+
var rBar = series.map(function (s, i) {
|
|
124
|
+
return _this2.series.slice(seriesIndex + 1).some(function (bar) {
|
|
125
|
+
return bar[i][0] !== bar[i][1];
|
|
126
|
+
}) ? 0 : r;
|
|
127
|
+
});
|
|
106
128
|
return {
|
|
107
129
|
data: series.map(function (s) {
|
|
108
130
|
var _objectSpread3;
|
|
@@ -110,7 +132,8 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
|
|
|
110
132
|
return _objectSpread(_objectSpread({}, s.data), {}, (_objectSpread3 = {}, _defineProperty(_objectSpread3, x, s[1]), _defineProperty(_objectSpread3, XY0, s[0]), _objectSpread3));
|
|
111
133
|
}),
|
|
112
134
|
x0: XY0,
|
|
113
|
-
y: y
|
|
135
|
+
y: y,
|
|
136
|
+
r: rBar
|
|
114
137
|
};
|
|
115
138
|
}
|
|
116
139
|
}, {
|
|
@@ -136,7 +159,8 @@ _defineProperty(StackBarRoot, "defaultProps", function () {
|
|
|
136
159
|
var stack = d3Stack();
|
|
137
160
|
stack[DEFAULT_INSTANCE] = true;
|
|
138
161
|
return {
|
|
139
|
-
stack: stack
|
|
162
|
+
stack: stack,
|
|
163
|
+
r: 2
|
|
140
164
|
};
|
|
141
165
|
});
|
|
142
166
|
|
package/lib/es6/StackBar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/StackBar.js"],"names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Bar","HorizontalBar","DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackBar","
|
|
1
|
+
{"version":3,"sources":["../../src/StackBar.js"],"names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Bar","HorizontalBar","DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackBar","props","hide","push","y","x","r","seriesIndex","series","findIndex","s","key","rBar","map","i","slice","some","bar","y0","x0","Element","getSeries","style"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { stack as d3Stack } from 'd3-shape';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Bar from './Bar';\nimport HorizontalBar from './HorizontalBar';\n\nimport style from './style/bar.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst XY0 = Symbol('XY0');\n\nclass StackBarRoot extends Component {\n static displayName = 'StackBar';\n\n static style = style;\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack, r: 2 };\n };\n\n getSeries() {\n const { Children, data, stack } = this.asProps;\n\n if (stack[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === StackBar.Bar && !child.props.hide) {\n acc.push(child.props.y);\n }\n if (\n React.isValidElement(child) &&\n child.type === StackBar.HorizontalBar &&\n !child.props.hide\n ) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n stack.keys(keys);\n }\n\n return stack(data);\n }\n\n getBarProps({ y }) {\n const { x, r } = this.asProps;\n\n const seriesIndex = this.series.findIndex((s) => s.key === y);\n // or [] if hide bar\n const series = this.series[seriesIndex] || [];\n\n const rBar = series.map((s, i) =>\n this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,\n );\n\n return {\n data: series.map((s) => ({\n ...s.data,\n [y]: s[1],\n [XY0]: s[0],\n })),\n y0: XY0,\n x,\n r: rBar,\n };\n }\n\n getHorizontalBarProps({ x }) {\n const { y, r } = this.asProps;\n\n const seriesIndex = this.series.findIndex((s) => s.key === x);\n const series = this.series[seriesIndex];\n\n const rBar = series.map((s, i) =>\n this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,\n );\n\n return {\n data: series.map((s) => ({\n ...s.data,\n [x]: s[1],\n [XY0]: s[0],\n })),\n x0: XY0,\n y,\n r: rBar,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n return <Element render=\"g\" series={this.series} />;\n }\n}\n\nconst StackBar = createElement(StackBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default StackBar;\n"],"file":"StackBar.js"}
|
package/lib/es6/StackedArea.js
CHANGED
|
@@ -26,15 +26,15 @@ var _ref = (
|
|
|
26
26
|
/*__reshadow_css_start__*/
|
|
27
27
|
__css__(
|
|
28
28
|
/*__inner_css_start__*/
|
|
29
|
-
".
|
|
29
|
+
".___SArea_iztho_gg_{fill:var(--color);fill-opacity:.4}.___SAreaLine_iztho_gg_{stroke:var(--color);stroke-width:3;fill:transparent}.___SArea_iztho_gg_,.___SAreaLine_iztho_gg_{transition-property:d;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SNull_iztho_gg_{fill:transparent;stroke:#bdc4c6;stroke-dasharray:4}.___SNull_iztho_gg_.__hide_iztho_gg_{display:none}"
|
|
30
30
|
/*__inner_css_end__*/
|
|
31
|
-
, "
|
|
31
|
+
, "w67b23_gg_")
|
|
32
32
|
/*__reshadow_css_end__*/
|
|
33
33
|
, {
|
|
34
|
-
"__SArea": "
|
|
35
|
-
"__SAreaLine": "
|
|
36
|
-
"__SNull": "
|
|
37
|
-
"_hide": "
|
|
34
|
+
"__SArea": "___SArea_iztho_gg_",
|
|
35
|
+
"__SAreaLine": "___SAreaLine_iztho_gg_",
|
|
36
|
+
"__SNull": "___SNull_iztho_gg_",
|
|
37
|
+
"_hide": "__hide_iztho_gg_"
|
|
38
38
|
}),
|
|
39
39
|
style = _extends({}, _ref);
|
|
40
40
|
|
|
@@ -62,7 +62,7 @@ var StackedAreaRoot = /*#__PURE__*/function (_Component) {
|
|
|
62
62
|
|
|
63
63
|
if (stack[DEFAULT_INSTANCE]) {
|
|
64
64
|
var keys = React.Children.toArray(getOriginChildren(Children)).reduce(function (acc, child) {
|
|
65
|
-
if ( /*#__PURE__*/React.isValidElement(child) && child.type === StackedArea.Area) {
|
|
65
|
+
if ( /*#__PURE__*/React.isValidElement(child) && child.type === StackedArea.Area && !child.props.hide) {
|
|
66
66
|
acc.push(child.props.y);
|
|
67
67
|
}
|
|
68
68
|
|
|
@@ -77,10 +77,11 @@ var StackedAreaRoot = /*#__PURE__*/function (_Component) {
|
|
|
77
77
|
key: "getAreaProps",
|
|
78
78
|
value: function getAreaProps(_ref2) {
|
|
79
79
|
var y = _ref2.y;
|
|
80
|
-
var x = this.asProps.x;
|
|
80
|
+
var x = this.asProps.x; // or [] if hide area
|
|
81
|
+
|
|
81
82
|
var series = this.series.find(function (s) {
|
|
82
83
|
return s.key === y;
|
|
83
|
-
});
|
|
84
|
+
}) || [];
|
|
84
85
|
return {
|
|
85
86
|
data: series.map(function (s) {
|
|
86
87
|
var _objectSpread2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/StackedArea.js"],"names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Area","DEFAULT_INSTANCE","Symbol","Y0","StackedAreaRoot","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackedArea","
|
|
1
|
+
{"version":3,"sources":["../../src/StackedArea.js"],"names":["React","stack","d3Stack","Component","getOriginChildren","createElement","Area","DEFAULT_INSTANCE","Symbol","Y0","StackedAreaRoot","asProps","Children","data","keys","toArray","reduce","acc","child","isValidElement","type","StackedArea","props","hide","push","y","reverse","x","series","find","s","key","map","y0","Element","getSeries","style"],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,KAAK,IAAIC,OAAlB,QAAiC,UAAjC;AACA,SAASC,SAAT,sBAA0B,eAA1B;AACA,OAAOC,iBAAP,MAA8B,sCAA9B;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;AAIA,IAAMC,gBAAgB,GAAGC,MAAM,CAAC,kBAAD,CAA/B;AACA,IAAMC,EAAE,GAAGD,MAAM,CAAC,IAAD,CAAjB;;IAEME,e;;;;;;;;;;;;;WAWJ,qBAAY;AAAA,0BACwB,KAAKC,OAD7B;AAAA,UACFC,QADE,iBACFA,QADE;AAAA,UACQC,IADR,iBACQA,IADR;AAAA,UACcZ,KADd,iBACcA,KADd;;AAGV,UAAIA,KAAK,CAACM,gBAAD,CAAT,EAA6B;AAC3B,YAAMO,IAAI,GAAGd,KAAK,CAACY,QAAN,CAAeG,OAAf,CAAuBX,iBAAiB,CAACQ,QAAD,CAAxC,EAAoDI,MAApD,CAA2D,UAACC,GAAD,EAAMC,KAAN,EAAgB;AACtF,cAAI,cAAAlB,KAAK,CAACmB,cAAN,CAAqBD,KAArB,KAA+BA,KAAK,CAACE,IAAN,KAAeC,WAAW,CAACf,IAA1D,IAAkE,CAACY,KAAK,CAACI,KAAN,CAAYC,IAAnF,EAAyF;AACvFN,YAAAA,GAAG,CAACO,IAAJ,CAASN,KAAK,CAACI,KAAN,CAAYG,CAArB;AACD;;AACD,iBAAOR,GAAP;AACD,SALY,EAKV,EALU,CAAb;AAMAhB,QAAAA,KAAK,CAACa,IAAN,CAAWA,IAAI,CAACY,OAAL,EAAX;AACD;;AAED,aAAOzB,KAAK,CAACY,IAAD,CAAZ;AACD;;;WAED,6BAAoB;AAAA,UAALY,CAAK,SAALA,CAAK;AAAA,UACVE,CADU,GACJ,KAAKhB,OADD,CACVgB,CADU,EAElB;;AACA,UAAMC,MAAM,GAAG,KAAKA,MAAL,CAAYC,IAAZ,CAAiB,UAACC,CAAD;AAAA,eAAOA,CAAC,CAACC,GAAF,KAAUN,CAAjB;AAAA,OAAjB,KAAwC,EAAvD;AACA,aAAO;AACLZ,QAAAA,IAAI,EAAEe,MAAM,CAACI,GAAP,CAAW,UAACF,CAAD;AAAA;;AAAA,iDACZA,CAAC,CAACjB,IADU,6DAGdY,CAHc,EAGVK,CAAC,CAACjB,IAAF,CAAOY,CAAP,MAAc,IAAd,GAAqB,IAArB,GAA4BK,CAAC,CAAC,CAAD,CAHnB,mCAIdrB,EAJc,EAITqB,CAAC,CAAC,CAAD,CAJQ;AAAA,SAAX,CADD;AAOLG,QAAAA,EAAE,EAAExB,EAPC;AAQLkB,QAAAA,CAAC,EAADA;AARK,OAAP;AAUD;;;WAED,kBAAS;AACP,UAAMO,OAAO,GAAG,KAAKA,OAArB;AACA,WAAKN,MAAL,GAAc,KAAKO,SAAL,EAAd;AACA,0BAAO,oBAAC,OAAD;AAAS,QAAA,MAAM,EAAC,GAAhB;AAAoB,QAAA,MAAM,EAAE,KAAKP;AAAjC,QAAP;AACD;;;;EA/C2BzB,S;;gBAAxBO,e,iBACiB,a;;gBADjBA,e,WAGW0B,K;;gBAHX1B,e,kBAKkB,YAAM;AAC1B,MAAMT,KAAK,GAAGC,OAAO,EAArB;AACAD,EAAAA,KAAK,CAACM,gBAAD,CAAL,GAA0B,IAA1B;AACA,SAAO;AAAEN,IAAAA,KAAK,EAALA;AAAF,GAAP;AACD,C;;AAyCH,IAAMoB,WAAW,GAAGhB,aAAa,CAACK,eAAD,EAAkB;AAAEJ,EAAAA,IAAI,EAAJA;AAAF,CAAlB,CAAjC;AAEA,eAAee,WAAf","sourcesContent":["import React from 'react';\nimport { stack as d3Stack } from 'd3-shape';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Area from './Area';\n\nimport style from './style/area.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\nconst Y0 = Symbol('Y0');\n\nclass StackedAreaRoot extends Component {\n static displayName = 'StackedArea';\n\n static style = style;\n\n static defaultProps = () => {\n const stack = d3Stack();\n stack[DEFAULT_INSTANCE] = true;\n return { stack };\n };\n\n getSeries() {\n const { Children, data, stack } = this.asProps;\n\n if (stack[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === StackedArea.Area && !child.props.hide) {\n acc.push(child.props.y);\n }\n return acc;\n }, []);\n stack.keys(keys.reverse());\n }\n\n return stack(data);\n }\n\n getAreaProps({ y }) {\n const { x } = this.asProps;\n // or [] if hide area\n const series = this.series.find((s) => s.key === y) || [];\n return {\n data: series.map((s) => ({\n ...s.data,\n // if null is passed in the data, then we pass it, because d3 null leads to 0\n [y]: s.data[y] === null ? null : s[1],\n [Y0]: s[0],\n })),\n y0: Y0,\n x,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n return <Element render=\"g\" series={this.series} />;\n }\n}\n\nconst StackedArea = createElement(StackedAreaRoot, { Area });\n\nexport default StackedArea;\n"],"file":"StackedArea.js"}
|
package/lib/es6/Tooltip.js
CHANGED
|
@@ -33,15 +33,15 @@ var style = (
|
|
|
33
33
|
/*__reshadow_css_start__*/
|
|
34
34
|
_sstyled.insert(
|
|
35
35
|
/*__inner_css_start__*/
|
|
36
|
-
".
|
|
36
|
+
".___STooltip_1exb3_gg_{position:relative;background-color:#fff;border-radius:3px;border:1px solid #bdc4c6;box-sizing:border-box;box-shadow:0 2px 5px 0 rgba(0,0,0,.25),0 -2px 5px -2px rgba(0,0,0,.25);padding:12px}.___STitle_1exb3_gg_{font-size:12px;line-height:1.5;color:#757575;margin-bottom:8px}.___SDotGroup_1exb3_gg_{display:flex;align-items:center}.___SDot_1exb3_gg_{width:8px;height:8px;border-radius:50%;margin-right:8px;background:var(--color_1vsdjfi)}"
|
|
37
37
|
/*__inner_css_end__*/
|
|
38
38
|
, "1vsdjfi_gg_")
|
|
39
39
|
/*__reshadow_css_end__*/
|
|
40
40
|
, {
|
|
41
|
-
"__STooltip": "
|
|
42
|
-
"__STitle": "
|
|
43
|
-
"__SDotGroup": "
|
|
44
|
-
"__SDot": "
|
|
41
|
+
"__STooltip": "___STooltip_1exb3_gg_",
|
|
42
|
+
"__STitle": "___STitle_1exb3_gg_",
|
|
43
|
+
"__SDotGroup": "___SDotGroup_1exb3_gg_",
|
|
44
|
+
"__SDot": "___SDot_1exb3_gg_",
|
|
45
45
|
"--color": "--color_1vsdjfi"
|
|
46
46
|
});
|
|
47
47
|
|
package/lib/es6/Venn.js
CHANGED
|
@@ -26,15 +26,15 @@ var style = (
|
|
|
26
26
|
/*__reshadow_css_start__*/
|
|
27
27
|
_sstyled.insert(
|
|
28
28
|
/*__inner_css_start__*/
|
|
29
|
-
".
|
|
29
|
+
".___SCircle_1qcib_gg_{fill:var(--color_v23pgz);stroke:#fff;stroke-width:2px;fill-opacity:.5;transition-property:cx,cy;transition-duration:var(--duration_v23pgz);transition-timing-function:ease-in-out}.___SCircle_1qcib_gg_:hover{fill-opacity:.7}.___SIntersection_1qcib_gg_{stroke:#fff;stroke-width:2px;fill-opacity:0}.___SIntersection_1qcib_gg_:hover{fill-opacity:.1}"
|
|
30
30
|
/*__inner_css_end__*/
|
|
31
31
|
, "v23pgz_gg_")
|
|
32
32
|
/*__reshadow_css_end__*/
|
|
33
33
|
, {
|
|
34
|
-
"__SCircle": "
|
|
34
|
+
"__SCircle": "___SCircle_1qcib_gg_",
|
|
35
35
|
"--color": "--color_v23pgz",
|
|
36
36
|
"--duration": "--duration_v23pgz",
|
|
37
|
-
"__SIntersection": "
|
|
37
|
+
"__SIntersection": "___SIntersection_1qcib_gg_"
|
|
38
38
|
});
|
|
39
39
|
|
|
40
40
|
var VennRoot = /*#__PURE__*/function (_Component) {
|
package/lib/types/Bar.d.ts
CHANGED
package/package.json
CHANGED
package/src/Area.js
CHANGED
|
@@ -14,8 +14,8 @@ class AreaRoot extends Component {
|
|
|
14
14
|
static style = style;
|
|
15
15
|
static enhance = [uniqueIDEnhancement()];
|
|
16
16
|
|
|
17
|
-
static defaultProps = ({ x, y, y0, $rootProps, curve = curveLinear }) => {
|
|
18
|
-
const [xScale, yScale] = $rootProps.scale;
|
|
17
|
+
static defaultProps = ({ x, y, y0, $rootProps, curve = curveLinear, scale }) => {
|
|
18
|
+
const [xScale, yScale] = scale || $rootProps.scale;
|
|
19
19
|
const yRange = yScale.range();
|
|
20
20
|
|
|
21
21
|
return {
|
package/src/Bar.js
CHANGED
|
@@ -74,7 +74,14 @@ class BarRoot extends Component {
|
|
|
74
74
|
yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[y0] ?? 0)),
|
|
75
75
|
);
|
|
76
76
|
const width = widthProps || getBandwidth(xScale);
|
|
77
|
-
const
|
|
77
|
+
const dSvg = getRect({
|
|
78
|
+
x: barX,
|
|
79
|
+
y: barY,
|
|
80
|
+
width,
|
|
81
|
+
height,
|
|
82
|
+
radius: Array.isArray(r) ? r[i] : r,
|
|
83
|
+
position: d[y] > 0 ? 'top' : 'bottom',
|
|
84
|
+
});
|
|
78
85
|
|
|
79
86
|
return sstyled(styles)(
|
|
80
87
|
<SBar
|
|
@@ -87,14 +94,11 @@ class BarRoot extends Component {
|
|
|
87
94
|
index={i}
|
|
88
95
|
hide={hide}
|
|
89
96
|
color={color}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
radius: r,
|
|
96
|
-
position: d[y] > 0 ? 'top' : 'bottom',
|
|
97
|
-
})}
|
|
97
|
+
x={barX}
|
|
98
|
+
y={barY}
|
|
99
|
+
width={width}
|
|
100
|
+
height={height}
|
|
101
|
+
d={dSvg}
|
|
98
102
|
use:duration={`${duration}ms`}
|
|
99
103
|
/>,
|
|
100
104
|
);
|
package/src/Dots.js
CHANGED
|
@@ -4,6 +4,7 @@ import { sstyled } from '@semcore/core';
|
|
|
4
4
|
import { eventToPoint, invert } from './utils';
|
|
5
5
|
import createElement from './createElement';
|
|
6
6
|
import { FadeInOut } from '@semcore/animation';
|
|
7
|
+
import trottle from '@semcore/utils/lib/rafTrottle';
|
|
7
8
|
|
|
8
9
|
import style from './style/dot.shadow.css';
|
|
9
10
|
|
|
@@ -27,18 +28,21 @@ function Dots(props) {
|
|
|
27
28
|
const [activeIndex, setActiveIndex] = useState(null);
|
|
28
29
|
|
|
29
30
|
const handlerMouseMoveRoot = useCallback(
|
|
30
|
-
(e) => {
|
|
31
|
+
trottle((e) => {
|
|
31
32
|
const [xScale] = scale;
|
|
32
33
|
const [pX] = eventToPoint(e, rootRef.current);
|
|
33
34
|
const vX = invert(xScale, pX);
|
|
34
35
|
setActiveIndex(bisect(data, vX));
|
|
35
|
-
},
|
|
36
|
+
}),
|
|
36
37
|
[scale, data],
|
|
37
38
|
);
|
|
38
39
|
|
|
39
|
-
const handlerMouseLeaveRoot = useCallback(
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
const handlerMouseLeaveRoot = useCallback(
|
|
41
|
+
trottle(() => {
|
|
42
|
+
setActiveIndex(null);
|
|
43
|
+
}),
|
|
44
|
+
[],
|
|
45
|
+
);
|
|
42
46
|
|
|
43
47
|
useEffect(() => {
|
|
44
48
|
const unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', (e) => {
|
package/src/GroupBar.js
CHANGED
|
@@ -20,10 +20,14 @@ class GroupBarRoot extends Component {
|
|
|
20
20
|
if (scaleGroup) return scaleGroup;
|
|
21
21
|
|
|
22
22
|
const domain = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {
|
|
23
|
-
if (React.isValidElement(child) && child.type === GroupBar.Bar) {
|
|
23
|
+
if (React.isValidElement(child) && child.type === GroupBar.Bar && !child.props.hide) {
|
|
24
24
|
acc.push(child.props.y);
|
|
25
25
|
}
|
|
26
|
-
if (
|
|
26
|
+
if (
|
|
27
|
+
React.isValidElement(child) &&
|
|
28
|
+
child.type === GroupBar.HorizontalBar &&
|
|
29
|
+
!child.props.hide
|
|
30
|
+
) {
|
|
27
31
|
acc.push(child.props.x);
|
|
28
32
|
}
|
|
29
33
|
return acc;
|
package/src/HorizontalBar.js
CHANGED
|
@@ -44,12 +44,20 @@ class HorizontalBarRoot extends Component {
|
|
|
44
44
|
onMouseMove,
|
|
45
45
|
onMouseLeave,
|
|
46
46
|
} = this.asProps;
|
|
47
|
+
|
|
47
48
|
const [xScale, yScale] = scale;
|
|
48
49
|
const barY = yScale(d[y]) + offset[1];
|
|
49
50
|
const barX = xScale(Math.min(d[x0] ?? 0, d[x])) + offset[0];
|
|
50
51
|
const height = heightProps || getBandwidth(yScale);
|
|
51
52
|
const width = Math.abs(xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[x0] ?? 0)));
|
|
52
|
-
const
|
|
53
|
+
const dSvg = getHorizontalRect({
|
|
54
|
+
x: barX,
|
|
55
|
+
y: barY,
|
|
56
|
+
width,
|
|
57
|
+
height,
|
|
58
|
+
radius: Array.isArray(r) ? r[i] : r,
|
|
59
|
+
position: d[x] > 0 ? 'right' : 'left',
|
|
60
|
+
});
|
|
53
61
|
|
|
54
62
|
return sstyled(styles)(
|
|
55
63
|
<SBar
|
|
@@ -62,14 +70,11 @@ class HorizontalBarRoot extends Component {
|
|
|
62
70
|
index={i}
|
|
63
71
|
hide={hide}
|
|
64
72
|
color={color}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
radius: r,
|
|
71
|
-
position: d[x] > 0 ? 'right' : 'left',
|
|
72
|
-
})}
|
|
73
|
+
x={barX}
|
|
74
|
+
y={barY}
|
|
75
|
+
width={width}
|
|
76
|
+
height={height}
|
|
77
|
+
d={dSvg}
|
|
73
78
|
use:duration={`${duration}ms`}
|
|
74
79
|
onMouseMove={onMouseMove}
|
|
75
80
|
onMouseLeave={onMouseLeave}
|
package/src/Hover.js
CHANGED
|
@@ -3,6 +3,7 @@ import { Component, sstyled } from '@semcore/core';
|
|
|
3
3
|
import createElement from './createElement';
|
|
4
4
|
import canUseDOM from '@semcore/utils/lib/canUseDOM';
|
|
5
5
|
import { scaleOfBandwidth, getIndexFromData, eventToPoint, invert, CONSTANT } from './utils';
|
|
6
|
+
import trottle from '@semcore/utils/lib/rafTrottle';
|
|
6
7
|
|
|
7
8
|
import style from './style/hover.shadow.css';
|
|
8
9
|
|
|
@@ -20,7 +21,7 @@ class Hover extends Component {
|
|
|
20
21
|
return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });
|
|
21
22
|
}
|
|
22
23
|
|
|
23
|
-
handlerMouseMoveRoot = (e) => {
|
|
24
|
+
handlerMouseMoveRoot = trottle((e) => {
|
|
24
25
|
const { eventEmitter, data, scale, x, y, rootRef } = this.asProps;
|
|
25
26
|
const { clientX, clientY } = e;
|
|
26
27
|
const [xScale, yScale] = scale;
|
|
@@ -46,9 +47,9 @@ class Hover extends Component {
|
|
|
46
47
|
this.virtualElement,
|
|
47
48
|
);
|
|
48
49
|
});
|
|
49
|
-
};
|
|
50
|
+
});
|
|
50
51
|
|
|
51
|
-
handlerMouseLeaveRoot = () => {
|
|
52
|
+
handlerMouseLeaveRoot = trottle(() => {
|
|
52
53
|
const state = {
|
|
53
54
|
xIndex: null,
|
|
54
55
|
yIndex: null,
|
|
@@ -56,7 +57,7 @@ class Hover extends Component {
|
|
|
56
57
|
this.setState(state, () => {
|
|
57
58
|
this.asProps.eventEmitter.emit('onTooltipVisible', false, state);
|
|
58
59
|
});
|
|
59
|
-
};
|
|
60
|
+
});
|
|
60
61
|
|
|
61
62
|
componentDidMount() {
|
|
62
63
|
const { eventEmitter } = this.asProps;
|
package/src/Line.js
CHANGED
|
@@ -14,8 +14,8 @@ class LineRoot extends Component {
|
|
|
14
14
|
static style = style;
|
|
15
15
|
static enhance = [uniqueIDEnhancement()];
|
|
16
16
|
|
|
17
|
-
static defaultProps = ({ x, y, $rootProps, curve = curveLinear }) => {
|
|
18
|
-
const [xScale, yScale] = $rootProps.scale;
|
|
17
|
+
static defaultProps = ({ x, y, $rootProps, curve = curveLinear, scale }) => {
|
|
18
|
+
const [xScale, yScale] = scale || $rootProps.scale;
|
|
19
19
|
return {
|
|
20
20
|
d3: d3Line()
|
|
21
21
|
.defined(definedData(x, y))
|
package/src/Plot.js
CHANGED
|
@@ -3,7 +3,6 @@ import createComponent, { Component, Root, sstyled } from '@semcore/core';
|
|
|
3
3
|
import { Box } from '@semcore/flex-box';
|
|
4
4
|
import EventEmitter from '@semcore/utils/lib/eventEmitter';
|
|
5
5
|
import { eventToPoint } from './utils';
|
|
6
|
-
import trottle from '@semcore/utils/lib/rafTrottle';
|
|
7
6
|
|
|
8
7
|
class PlotRoot extends Component {
|
|
9
8
|
static displayName = 'Plot';
|
|
@@ -20,7 +19,7 @@ class PlotRoot extends Component {
|
|
|
20
19
|
|
|
21
20
|
rootRef = React.createRef();
|
|
22
21
|
|
|
23
|
-
handlerMouseMove =
|
|
22
|
+
handlerMouseMove = (e) => {
|
|
24
23
|
const { scale } = this.asProps;
|
|
25
24
|
this.eventEmitter.emit(`onMouseMoveRoot`, e);
|
|
26
25
|
|
|
@@ -36,12 +35,12 @@ class PlotRoot extends Component {
|
|
|
36
35
|
this.eventEmitter.emit('onMouseLeaveChart', e);
|
|
37
36
|
}
|
|
38
37
|
}
|
|
39
|
-
}
|
|
38
|
+
};
|
|
40
39
|
|
|
41
|
-
handlerMouseLeave =
|
|
40
|
+
handlerMouseLeave = (e) => {
|
|
42
41
|
this.eventEmitter.emit(`onMouseLeaveRoot`, e);
|
|
43
42
|
this.eventEmitter.emit('onMouseLeaveChart', e);
|
|
44
|
-
}
|
|
43
|
+
};
|
|
45
44
|
|
|
46
45
|
setContext() {
|
|
47
46
|
const { scale, data, width, height } = this.asProps;
|
package/src/StackBar.js
CHANGED
|
@@ -19,7 +19,7 @@ class StackBarRoot extends Component {
|
|
|
19
19
|
static defaultProps = () => {
|
|
20
20
|
const stack = d3Stack();
|
|
21
21
|
stack[DEFAULT_INSTANCE] = true;
|
|
22
|
-
return { stack };
|
|
22
|
+
return { stack, r: 2 };
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
getSeries() {
|
|
@@ -27,10 +27,14 @@ class StackBarRoot extends Component {
|
|
|
27
27
|
|
|
28
28
|
if (stack[DEFAULT_INSTANCE]) {
|
|
29
29
|
const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {
|
|
30
|
-
if (React.isValidElement(child) && child.type === StackBar.Bar) {
|
|
30
|
+
if (React.isValidElement(child) && child.type === StackBar.Bar && !child.props.hide) {
|
|
31
31
|
acc.push(child.props.y);
|
|
32
32
|
}
|
|
33
|
-
if (
|
|
33
|
+
if (
|
|
34
|
+
React.isValidElement(child) &&
|
|
35
|
+
child.type === StackBar.HorizontalBar &&
|
|
36
|
+
!child.props.hide
|
|
37
|
+
) {
|
|
34
38
|
acc.push(child.props.x);
|
|
35
39
|
}
|
|
36
40
|
return acc;
|
|
@@ -42,9 +46,15 @@ class StackBarRoot extends Component {
|
|
|
42
46
|
}
|
|
43
47
|
|
|
44
48
|
getBarProps({ y }) {
|
|
45
|
-
const { x } = this.asProps;
|
|
49
|
+
const { x, r } = this.asProps;
|
|
46
50
|
|
|
47
|
-
const
|
|
51
|
+
const seriesIndex = this.series.findIndex((s) => s.key === y);
|
|
52
|
+
// or [] if hide bar
|
|
53
|
+
const series = this.series[seriesIndex] || [];
|
|
54
|
+
|
|
55
|
+
const rBar = series.map((s, i) =>
|
|
56
|
+
this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,
|
|
57
|
+
);
|
|
48
58
|
|
|
49
59
|
return {
|
|
50
60
|
data: series.map((s) => ({
|
|
@@ -54,13 +64,19 @@ class StackBarRoot extends Component {
|
|
|
54
64
|
})),
|
|
55
65
|
y0: XY0,
|
|
56
66
|
x,
|
|
67
|
+
r: rBar,
|
|
57
68
|
};
|
|
58
69
|
}
|
|
59
70
|
|
|
60
71
|
getHorizontalBarProps({ x }) {
|
|
61
|
-
const { y } = this.asProps;
|
|
72
|
+
const { y, r } = this.asProps;
|
|
73
|
+
|
|
74
|
+
const seriesIndex = this.series.findIndex((s) => s.key === x);
|
|
75
|
+
const series = this.series[seriesIndex];
|
|
62
76
|
|
|
63
|
-
const
|
|
77
|
+
const rBar = series.map((s, i) =>
|
|
78
|
+
this.series.slice(seriesIndex + 1).some((bar) => bar[i][0] !== bar[i][1]) ? 0 : r,
|
|
79
|
+
);
|
|
64
80
|
|
|
65
81
|
return {
|
|
66
82
|
data: series.map((s) => ({
|
|
@@ -70,6 +86,7 @@ class StackBarRoot extends Component {
|
|
|
70
86
|
})),
|
|
71
87
|
x0: XY0,
|
|
72
88
|
y,
|
|
89
|
+
r: rBar,
|
|
73
90
|
};
|
|
74
91
|
}
|
|
75
92
|
|
package/src/StackedArea.js
CHANGED
|
@@ -26,7 +26,7 @@ class StackedAreaRoot extends Component {
|
|
|
26
26
|
|
|
27
27
|
if (stack[DEFAULT_INSTANCE]) {
|
|
28
28
|
const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {
|
|
29
|
-
if (React.isValidElement(child) && child.type === StackedArea.Area) {
|
|
29
|
+
if (React.isValidElement(child) && child.type === StackedArea.Area && !child.props.hide) {
|
|
30
30
|
acc.push(child.props.y);
|
|
31
31
|
}
|
|
32
32
|
return acc;
|
|
@@ -39,7 +39,8 @@ class StackedAreaRoot extends Component {
|
|
|
39
39
|
|
|
40
40
|
getAreaProps({ y }) {
|
|
41
41
|
const { x } = this.asProps;
|
|
42
|
-
|
|
42
|
+
// or [] if hide area
|
|
43
|
+
const series = this.series.find((s) => s.key === y) || [];
|
|
43
44
|
return {
|
|
44
45
|
data: series.map((s) => ({
|
|
45
46
|
...s.data,
|