@semcore/d3-chart 2.2.4 → 2.3.0-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 +6 -0
- package/lib/cjs/Area.js +16 -9
- package/lib/cjs/Area.js.map +1 -1
- package/lib/cjs/Axis.js +56 -17
- package/lib/cjs/Axis.js.map +1 -1
- package/lib/cjs/Bar.js +20 -9
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Bubble.js +20 -11
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/ClipPath.js +1 -0
- package/lib/cjs/ClipPath.js.map +1 -1
- package/lib/cjs/Donut.js +22 -12
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +10 -9
- package/lib/cjs/Dots.js.map +1 -1
- package/lib/cjs/GroupBar.js +12 -8
- package/lib/cjs/GroupBar.js.map +1 -1
- package/lib/cjs/HorizontalBar.js +20 -9
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Hover.js +8 -4
- package/lib/cjs/Hover.js.map +1 -1
- package/lib/cjs/Line.js +15 -9
- package/lib/cjs/Line.js.map +1 -1
- package/lib/cjs/Plot.js +46 -8
- package/lib/cjs/Plot.js.map +1 -1
- package/lib/cjs/RadialTree.js +25 -13
- package/lib/cjs/RadialTree.js.map +1 -1
- package/lib/cjs/ReferenceLine.js +10 -10
- package/lib/cjs/ScatterPlot.js +17 -8
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/StackBar.js +12 -8
- package/lib/cjs/StackBar.js.map +1 -1
- package/lib/cjs/StackedArea.js +8 -7
- package/lib/cjs/StackedArea.js.map +1 -1
- package/lib/cjs/Tooltip.js +8 -8
- package/lib/cjs/Venn.js +25 -9
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yModule.js +185 -0
- package/lib/cjs/a11y/PlotA11yModule.js.map +1 -0
- package/lib/cjs/a11y/PlotA11yView.js +285 -0
- package/lib/cjs/a11y/PlotA11yView.js.map +1 -0
- package/lib/cjs/a11y/bezier.js +44 -0
- package/lib/cjs/a11y/bezier.js.map +1 -0
- package/lib/cjs/a11y/datasets/charts-a11y.js +591 -0
- package/lib/cjs/a11y/datasets/charts-a11y.js.map +1 -0
- package/lib/cjs/a11y/datasets/gold.json +7961 -0
- package/lib/cjs/a11y/datasets/imdb.json +10002 -0
- package/lib/cjs/a11y/datasets/readme.md +5 -0
- package/lib/cjs/a11y/datasets/stores.json +6274 -0
- package/lib/cjs/a11y/datasets/titanic.json +5436 -0
- package/lib/cjs/a11y/focus.js +57 -0
- package/lib/cjs/a11y/focus.js.map +1 -0
- package/lib/cjs/a11y/hints.js +141 -0
- package/lib/cjs/a11y/hints.js.map +1 -0
- package/lib/cjs/a11y/insights.js +785 -0
- package/lib/cjs/a11y/insights.js.map +1 -0
- package/lib/cjs/a11y/intl.js +31 -0
- package/lib/cjs/a11y/intl.js.map +1 -0
- package/lib/cjs/a11y/locale.js +48 -0
- package/lib/cjs/a11y/locale.js.map +1 -0
- package/lib/cjs/a11y/serialize.js +439 -0
- package/lib/cjs/a11y/serialize.js.map +1 -0
- package/lib/cjs/a11y/summarize.js +21 -0
- package/lib/cjs/a11y/summarize.js.map +1 -0
- package/lib/cjs/a11y/translations/module/de.json +5 -0
- package/lib/cjs/a11y/translations/module/en.json +5 -0
- package/lib/cjs/a11y/translations/module/es.json +5 -0
- package/lib/cjs/a11y/translations/module/fr.json +5 -0
- package/lib/cjs/a11y/translations/module/it.json +5 -0
- package/lib/cjs/a11y/translations/module/ja.json +5 -0
- package/lib/cjs/a11y/translations/module/ko.json +5 -0
- package/lib/cjs/a11y/translations/module/pt.json +5 -0
- package/lib/cjs/a11y/translations/module/tr.json +5 -0
- package/lib/cjs/a11y/translations/module/translations.js +46 -0
- package/lib/cjs/a11y/translations/module/translations.js.map +1 -0
- package/lib/cjs/a11y/translations/module/vi.json +5 -0
- package/lib/cjs/a11y/translations/module/zh.json +5 -0
- package/lib/cjs/a11y/translations/view/de.json +42 -0
- package/lib/cjs/a11y/translations/view/en.csv +41 -0
- package/lib/cjs/a11y/translations/view/en.json +42 -0
- package/lib/cjs/a11y/translations/view/es.json +42 -0
- package/lib/cjs/a11y/translations/view/fr.json +42 -0
- package/lib/cjs/a11y/translations/view/it.json +42 -0
- package/lib/cjs/a11y/translations/view/ja.json +42 -0
- package/lib/cjs/a11y/translations/view/ko.json +42 -0
- package/lib/cjs/a11y/translations/view/pt.json +42 -0
- package/lib/cjs/a11y/translations/view/tr.json +42 -0
- package/lib/cjs/a11y/translations/view/translations.js +46 -0
- package/lib/cjs/a11y/translations/view/translations.js.map +1 -0
- package/lib/cjs/a11y/translations/view/vi.json +42 -0
- package/lib/cjs/a11y/translations/view/zh.json +42 -0
- package/lib/cjs/createElement.js +3 -1
- package/lib/cjs/createElement.js.map +1 -1
- package/lib/cjs/style/plot.shadow.css +10 -0
- package/lib/cjs/style/plotA11yModule.shadow.css +13 -0
- package/lib/cjs/style/plotA11yView.shadow.css +39 -0
- package/lib/cjs/types/Plot.d.ts +75 -0
- package/lib/cjs/utils.js +9 -1
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Area.js +16 -9
- package/lib/es6/Area.js.map +1 -1
- package/lib/es6/Axis.js +56 -17
- package/lib/es6/Axis.js.map +1 -1
- package/lib/es6/Bar.js +20 -9
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Bubble.js +20 -11
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/ClipPath.js +1 -0
- package/lib/es6/ClipPath.js.map +1 -1
- package/lib/es6/Donut.js +22 -12
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +10 -9
- package/lib/es6/Dots.js.map +1 -1
- package/lib/es6/GroupBar.js +12 -8
- package/lib/es6/GroupBar.js.map +1 -1
- package/lib/es6/HorizontalBar.js +20 -9
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Hover.js +8 -4
- package/lib/es6/Hover.js.map +1 -1
- package/lib/es6/Line.js +15 -9
- package/lib/es6/Line.js.map +1 -1
- package/lib/es6/Plot.js +48 -9
- package/lib/es6/Plot.js.map +1 -1
- package/lib/es6/RadialTree.js +25 -13
- package/lib/es6/RadialTree.js.map +1 -1
- package/lib/es6/ReferenceLine.js +10 -10
- package/lib/es6/ScatterPlot.js +17 -8
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/StackBar.js +12 -8
- package/lib/es6/StackBar.js.map +1 -1
- package/lib/es6/StackedArea.js +8 -7
- package/lib/es6/StackedArea.js.map +1 -1
- package/lib/es6/Tooltip.js +8 -8
- package/lib/es6/Venn.js +25 -9
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/a11y/PlotA11yModule.js +160 -0
- package/lib/es6/a11y/PlotA11yModule.js.map +1 -0
- package/lib/es6/a11y/PlotA11yView.js +254 -0
- package/lib/es6/a11y/PlotA11yView.js.map +1 -0
- package/lib/es6/a11y/bezier.js +35 -0
- package/lib/es6/a11y/bezier.js.map +1 -0
- package/lib/es6/a11y/datasets/charts-a11y.js +590 -0
- package/lib/es6/a11y/datasets/charts-a11y.js.map +1 -0
- package/lib/es6/a11y/datasets/gold.json +7961 -0
- package/lib/es6/a11y/datasets/imdb.json +10002 -0
- package/lib/es6/a11y/datasets/readme.md +5 -0
- package/lib/es6/a11y/datasets/stores.json +6274 -0
- package/lib/es6/a11y/datasets/titanic.json +5436 -0
- package/lib/es6/a11y/focus.js +48 -0
- package/lib/es6/a11y/focus.js.map +1 -0
- package/lib/es6/a11y/hints.js +123 -0
- package/lib/es6/a11y/hints.js.map +1 -0
- package/lib/es6/a11y/insights.js +779 -0
- package/lib/es6/a11y/insights.js.map +1 -0
- package/lib/es6/a11y/intl.js +18 -0
- package/lib/es6/a11y/intl.js.map +1 -0
- package/lib/es6/a11y/locale.js +36 -0
- package/lib/es6/a11y/locale.js.map +1 -0
- package/lib/es6/a11y/serialize.js +423 -0
- package/lib/es6/a11y/serialize.js.map +1 -0
- package/lib/es6/a11y/summarize.js +10 -0
- package/lib/es6/a11y/summarize.js.map +1 -0
- package/lib/es6/a11y/translations/module/de.json +5 -0
- package/lib/es6/a11y/translations/module/en.json +5 -0
- package/lib/es6/a11y/translations/module/es.json +5 -0
- package/lib/es6/a11y/translations/module/fr.json +5 -0
- package/lib/es6/a11y/translations/module/it.json +5 -0
- package/lib/es6/a11y/translations/module/ja.json +5 -0
- package/lib/es6/a11y/translations/module/ko.json +5 -0
- package/lib/es6/a11y/translations/module/pt.json +5 -0
- package/lib/es6/a11y/translations/module/tr.json +5 -0
- package/lib/es6/a11y/translations/module/translations.js +25 -0
- package/lib/es6/a11y/translations/module/translations.js.map +1 -0
- package/lib/es6/a11y/translations/module/vi.json +5 -0
- package/lib/es6/a11y/translations/module/zh.json +5 -0
- package/lib/es6/a11y/translations/view/de.json +42 -0
- package/lib/es6/a11y/translations/view/en.csv +41 -0
- package/lib/es6/a11y/translations/view/en.json +42 -0
- package/lib/es6/a11y/translations/view/es.json +42 -0
- package/lib/es6/a11y/translations/view/fr.json +42 -0
- package/lib/es6/a11y/translations/view/it.json +42 -0
- package/lib/es6/a11y/translations/view/ja.json +42 -0
- package/lib/es6/a11y/translations/view/ko.json +42 -0
- package/lib/es6/a11y/translations/view/pt.json +42 -0
- package/lib/es6/a11y/translations/view/tr.json +42 -0
- package/lib/es6/a11y/translations/view/translations.js +25 -0
- package/lib/es6/a11y/translations/view/translations.js.map +1 -0
- package/lib/es6/a11y/translations/view/vi.json +42 -0
- package/lib/es6/a11y/translations/view/zh.json +42 -0
- package/lib/es6/createElement.js +3 -1
- package/lib/es6/createElement.js.map +1 -1
- package/lib/es6/style/plot.shadow.css +10 -0
- package/lib/es6/style/plotA11yModule.shadow.css +13 -0
- package/lib/es6/style/plotA11yView.shadow.css +39 -0
- package/lib/es6/types/Plot.d.ts +75 -0
- package/lib/es6/utils.js +5 -0
- package/lib/es6/utils.js.map +1 -1
- package/lib/types/Plot.d.ts +75 -0
- package/lib/types/a11y/PlotA11yModule.d.ts +12 -0
- package/lib/types/a11y/PlotA11yView.d.ts +3 -0
- package/lib/types/a11y/bezier.d.ts +8 -0
- package/lib/types/a11y/datasets/charts-a11y.d.ts +0 -0
- package/lib/types/a11y/focus.d.ts +5 -0
- package/lib/types/a11y/hints.d.ts +99 -0
- package/lib/types/a11y/insights.d.ts +54 -0
- package/lib/types/a11y/intl.d.ts +8 -0
- package/lib/types/a11y/locale.d.ts +3 -0
- package/lib/types/a11y/serialize.d.ts +16 -0
- package/lib/types/a11y/summarize.d.ts +2 -0
- package/lib/types/a11y/translations/module/translations.d.ts +5 -0
- package/lib/types/a11y/translations/view/translations.d.ts +5 -0
- package/lib/types/utils.d.ts +1 -0
- package/package.json +2 -1
package/lib/cjs/ReferenceLine.js
CHANGED
|
@@ -42,19 +42,19 @@ var style = (
|
|
|
42
42
|
/*__reshadow_css_start__*/
|
|
43
43
|
_core.sstyled.insert(
|
|
44
44
|
/*__inner_css_start__*/
|
|
45
|
-
".
|
|
45
|
+
".___SReferenceLine_jmd9c_gg_{fill:none;stroke:#a9abb6}.___STitle_jmd9c_gg_{font-size:12px;fill:#6c6e79;transform-origin:var(--transform-origin_jmd9c)}.___STitle_jmd9c_gg_._position_top_jmd9c_gg_{text-anchor:middle}.___STitle_jmd9c_gg_._position_bottom_jmd9c_gg_{text-anchor:middle;alignment-baseline:hanging}.___STitle_jmd9c_gg_._position_right_jmd9c_gg_{transform:rotate(-90deg);alignment-baseline:middle;text-anchor:middle}.___STitle_jmd9c_gg_._position_left_jmd9c_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___SBackground_jmd9c_gg_{fill:rgba(196,199,207,.2)}"
|
|
46
46
|
/*__inner_css_end__*/
|
|
47
|
-
, "
|
|
47
|
+
, "jmd9c_gg_")
|
|
48
48
|
/*__reshadow_css_end__*/
|
|
49
49
|
, {
|
|
50
|
-
"__SReferenceLine": "
|
|
51
|
-
"__STitle": "
|
|
52
|
-
"--transform-origin": "--transform-
|
|
53
|
-
"_position_top": "
|
|
54
|
-
"_position_bottom": "
|
|
55
|
-
"_position_right": "
|
|
56
|
-
"_position_left": "
|
|
57
|
-
"__SBackground": "
|
|
50
|
+
"__SReferenceLine": "___SReferenceLine_jmd9c_gg_",
|
|
51
|
+
"__STitle": "___STitle_jmd9c_gg_",
|
|
52
|
+
"--transform-origin": "--transform-origin_jmd9c",
|
|
53
|
+
"_position_top": "_position_top_jmd9c_gg_",
|
|
54
|
+
"_position_bottom": "_position_bottom_jmd9c_gg_",
|
|
55
|
+
"_position_right": "_position_right_jmd9c_gg_",
|
|
56
|
+
"_position_left": "_position_left_jmd9c_gg_",
|
|
57
|
+
"__SBackground": "___SBackground_jmd9c_gg_"
|
|
58
58
|
});
|
|
59
59
|
var MAP_ORIENTATION = {
|
|
60
60
|
left: 'vertical',
|
package/lib/cjs/ScatterPlot.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
|
+
".___SScatterPlot_v1s0r_gg_{fill:#2bb3ff;transition-property:cx,cy;transition-duration:var(--duration_v1s0r);transition-timing-function:ease-in-out;opacity:.5}.___SScatterPlot_v1s0r_gg_:hover{opacity:.8}.___SScatterPlot_v1s0r_gg_.__color_v1s0r_gg_{fill:var(--color_v1s0r)}.___SValue_v1s0r_gg_{text-anchor:middle;font-size:10px;stroke:#008ff8}.___SValue_v1s0r_gg_.__color_v1s0r_gg_{stroke:var(--color_v1s0r)}"
|
|
56
56
|
/*__inner_css_end__*/
|
|
57
|
-
, "
|
|
57
|
+
, "v1s0r_gg_")
|
|
58
58
|
/*__reshadow_css_end__*/
|
|
59
59
|
, {
|
|
60
|
-
"__SScatterPlot": "
|
|
61
|
-
"--duration": "--
|
|
62
|
-
"_color": "
|
|
63
|
-
"--color": "--
|
|
64
|
-
"__SValue": "
|
|
60
|
+
"__SScatterPlot": "___SScatterPlot_v1s0r_gg_",
|
|
61
|
+
"--duration": "--duration_v1s0r",
|
|
62
|
+
"_color": "__color_v1s0r_gg_",
|
|
63
|
+
"--color": "--color_v1s0r",
|
|
64
|
+
"__SValue": "___SValue_v1s0r_gg_"
|
|
65
65
|
});
|
|
66
66
|
|
|
67
67
|
var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
|
|
@@ -160,6 +160,7 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
|
|
|
160
160
|
var SScatterPlot = this.Element;
|
|
161
161
|
var SValue = 'text';
|
|
162
162
|
return _ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement("g", _ref.cn("g", {
|
|
163
|
+
"aria-hidden": true,
|
|
163
164
|
"key": "circle(#".concat(i, ")"),
|
|
164
165
|
"onMouseMove": this.bindHandlerTooltip(true, _objectSpread(_objectSpread({}, this.props), {}, {
|
|
165
166
|
xIndex: i
|
|
@@ -168,6 +169,7 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
|
|
|
168
169
|
xIndex: i
|
|
169
170
|
}))
|
|
170
171
|
}), /*#__PURE__*/_react["default"].createElement(SScatterPlot, _ref.cn("SScatterPlot", {
|
|
172
|
+
"aria-hidden": true,
|
|
171
173
|
"id": "".concat(uid).concat(i),
|
|
172
174
|
"index": i,
|
|
173
175
|
"render": "circle",
|
|
@@ -178,6 +180,7 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
|
|
|
178
180
|
"r": r,
|
|
179
181
|
"use:duration": "".concat(duration, "ms")
|
|
180
182
|
})), d[value] && /*#__PURE__*/_react["default"].createElement(SValue, _ref.cn("SValue", {
|
|
183
|
+
"aria-hidden": true,
|
|
181
184
|
"x": xScale(d[x]) + offset[0],
|
|
182
185
|
"y": yScale(d[y]) + offset[1],
|
|
183
186
|
"dy": ".3em",
|
|
@@ -191,7 +194,10 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
|
|
|
191
194
|
var _this$asProps3 = this.asProps,
|
|
192
195
|
data = _this$asProps3.data,
|
|
193
196
|
uid = _this$asProps3.uid,
|
|
194
|
-
scale = _this$asProps3.scale
|
|
197
|
+
scale = _this$asProps3.scale,
|
|
198
|
+
x = _this$asProps3.x,
|
|
199
|
+
y = _this$asProps3.y,
|
|
200
|
+
value = _this$asProps3.value;
|
|
195
201
|
|
|
196
202
|
var _scale2 = (0, _slicedToArray2["default"])(scale, 2),
|
|
197
203
|
xScale = _scale2[0],
|
|
@@ -201,7 +207,10 @@ var ScatterPlotRoot = /*#__PURE__*/function (_Component) {
|
|
|
201
207
|
var ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);
|
|
202
208
|
var xMargin = Math.min(xScale.range()[0], xScale.range()[1]);
|
|
203
209
|
var yMargin = Math.min(yScale.range()[0], yScale.range()[1]);
|
|
210
|
+
this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);
|
|
211
|
+
this.asProps.dataHintsHandler.establishDataType('points-cloud');
|
|
204
212
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, data.map(this.renderCircle.bind(this)), /*#__PURE__*/_react["default"].createElement(_ClipPath["default"], {
|
|
213
|
+
"aria-hidden": true,
|
|
205
214
|
id: uid,
|
|
206
215
|
x: xMargin,
|
|
207
216
|
y: yMargin,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScatterPlot.js","names":["ScatterPlotRoot","canUseDOM","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","r","value","radius","selectRect","transition","selection","selectAll","attr","selectRectNode","node","animationCircle","d","i","color","scale","offset","styles","valueColor","xScale","yScale","SScatterPlot","Element","SValue","sstyled","bindHandlerTooltip","xIndex","data","xSize","Math","abs","range","ySize","xMargin","min","yMargin","map","renderCircle","bind","Component","style","uniqueIDEnhancement","ScatterPlot"],"sources":["../../src/ScatterPlot.jsx"],"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/scatterplot.shadow.css';\nimport ClipPath from './ClipPath';\n\nclass ScatterPlotRoot extends Component {\n static displayName = 'ScatterPlot';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\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, r, value } = this.asProps;\n const radius = r ? r : value ? 12 : 5.5;\n const selectRect = transition().selection().selectAll(`[id^=${uid}]`).attr('r', 0);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode) {\n selectRect.transition().duration(duration).attr('r', radius);\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const { color, scale, x, y, r, offset, styles, uid, duration, value, valueColor } =\n this.asProps;\n const [xScale, yScale] = scale;\n const SScatterPlot = this.Element;\n const SValue = 'text';\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 <SScatterPlot\n id={`${uid}${i}`}\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={color}\n r={r}\n use:duration={`${duration}ms`}\n />\n {d[value] && (\n <SValue\n x={xScale(d[x]) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n dy=\".3em\"\n clipPath={`url(#${uid})`}\n color={valueColor}\n >\n {d[value]}\n </SValue>\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 <ClipPath
|
|
1
|
+
{"version":3,"file":"ScatterPlot.js","names":["ScatterPlotRoot","canUseDOM","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","r","value","radius","selectRect","transition","selection","selectAll","attr","selectRectNode","node","animationCircle","d","i","color","scale","offset","styles","valueColor","xScale","yScale","SScatterPlot","Element","SValue","sstyled","bindHandlerTooltip","xIndex","data","xSize","Math","abs","range","ySize","xMargin","min","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","map","renderCircle","bind","Component","style","uniqueIDEnhancement","ScatterPlot"],"sources":["../../src/ScatterPlot.jsx"],"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/scatterplot.shadow.css';\nimport ClipPath from './ClipPath';\n\nclass ScatterPlotRoot extends Component {\n static displayName = 'ScatterPlot';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\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, r, value } = this.asProps;\n const radius = r ? r : value ? 12 : 5.5;\n const selectRect = transition().selection().selectAll(`[id^=${uid}]`).attr('r', 0);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode) {\n selectRect.transition().duration(duration).attr('r', radius);\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const { color, scale, x, y, r, offset, styles, uid, duration, value, valueColor } =\n this.asProps;\n const [xScale, yScale] = scale;\n const SScatterPlot = this.Element;\n const SValue = 'text';\n\n return sstyled(styles)(\n <g\n aria-hidden\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, { ...this.props, xIndex: i })}\n onMouseLeave={this.bindHandlerTooltip(false, { ...this.props, xIndex: i })}\n >\n <SScatterPlot\n aria-hidden\n id={`${uid}${i}`}\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={color}\n r={r}\n use:duration={`${duration}ms`}\n />\n {d[value] && (\n <SValue\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={valueColor}\n >\n {d[value]}\n </SValue>\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 <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 ScatterPlot = createElement(ScatterPlotRoot);\n\nexport default ScatterPlot;\n"],"mappings":"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"}
|
package/lib/cjs/StackBar.js
CHANGED
|
@@ -48,15 +48,15 @@ var _ref = (
|
|
|
48
48
|
/*__reshadow_css_start__*/
|
|
49
49
|
(0, _core.__css__)(
|
|
50
50
|
/*__inner_css_start__*/
|
|
51
|
-
".
|
|
51
|
+
".___SBar_dgtls_gg_{fill:#2bb3ff;transition-property:height,width,y;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SBar_dgtls_gg_.__color_dgtls_gg_{fill:var(--color)}.___SBar_dgtls_gg_.__hide_dgtls_gg_{display:none}.___SBackground_dgtls_gg_{fill:#c4c7cf}"
|
|
52
52
|
/*__inner_css_end__*/
|
|
53
|
-
, "
|
|
53
|
+
, "1iyvh36_gg_")
|
|
54
54
|
/*__reshadow_css_end__*/
|
|
55
55
|
, {
|
|
56
|
-
"__SBar": "
|
|
57
|
-
"_color": "
|
|
58
|
-
"_hide": "
|
|
59
|
-
"__SBackground": "
|
|
56
|
+
"__SBar": "___SBar_dgtls_gg_",
|
|
57
|
+
"_color": "__color_dgtls_gg_",
|
|
58
|
+
"_hide": "__hide_dgtls_gg_",
|
|
59
|
+
"__SBackground": "___SBackground_dgtls_gg_"
|
|
60
60
|
}),
|
|
61
61
|
style = (0, _extends2["default"])({}, _ref);
|
|
62
62
|
|
|
@@ -126,7 +126,8 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
|
|
|
126
126
|
}),
|
|
127
127
|
y0: XY0,
|
|
128
128
|
x: x,
|
|
129
|
-
r: rBar
|
|
129
|
+
r: rBar,
|
|
130
|
+
groupKey: x
|
|
130
131
|
};
|
|
131
132
|
}
|
|
132
133
|
}, {
|
|
@@ -155,7 +156,8 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
|
|
|
155
156
|
}),
|
|
156
157
|
x0: XY0,
|
|
157
158
|
y: y,
|
|
158
|
-
r: rBar
|
|
159
|
+
r: rBar,
|
|
160
|
+
groupKey: y
|
|
159
161
|
};
|
|
160
162
|
}
|
|
161
163
|
}, {
|
|
@@ -163,7 +165,9 @@ var StackBarRoot = /*#__PURE__*/function (_Component) {
|
|
|
163
165
|
value: function render() {
|
|
164
166
|
var Element = this.Element;
|
|
165
167
|
this.series = this.getSeries();
|
|
168
|
+
this.asProps.dataHintsHandler.establishDataType('grouped-values');
|
|
166
169
|
return /*#__PURE__*/_react["default"].createElement(Element, {
|
|
170
|
+
"aria-hidden": true,
|
|
167
171
|
render: "g",
|
|
168
172
|
series: this.series
|
|
169
173
|
});
|
package/lib/cjs/StackBar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StackBar.js","names":["DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","asProps","Children","data","stack","keys","React","toArray","getOriginChildren","reduce","acc","child","isValidElement","type","StackBar","Bar","props","hide","push","y","HorizontalBar","x","r","seriesIndex","series","findIndex","s","key","rBar","map","i","slice","some","bar","y0","x0","Element","getSeries","Component","style","d3Stack","createElement"],"sources":["../../src/StackBar.jsx"],"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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAMA,gBAAgB,GAAGC,MAAM,CAAC,kBAAD,CAA/B;AACA,IAAMC,GAAG,GAAGD,MAAM,CAAC,KAAD,CAAlB;;IAEME,Y;;;;;;;;;;;;WAWJ,qBAAY;MACV,oBAAkC,KAAKC,OAAvC;MAAA,IAAQC,QAAR,iBAAQA,QAAR;MAAA,IAAkBC,IAAlB,iBAAkBA,IAAlB;MAAA,IAAwBC,KAAxB,iBAAwBA,KAAxB;;MAEA,IAAIA,KAAK,CAACP,gBAAD,CAAT,EAA6B;QAC3B,IAAMQ,IAAI,GAAGC,iBAAA,CAAMJ,QAAN,CAAeK,OAAf,CAAuB,IAAAC,6BAAA,EAAkBN,QAAlB,CAAvB,EAAoDO,MAApD,CAA2D,UAACC,GAAD,EAAMC,KAAN,EAAgB;UACtF,IAAI,cAAAL,iBAAA,CAAMM,cAAN,CAAqBD,KAArB,KAA+BA,KAAK,CAACE,IAAN,KAAeC,QAAQ,CAACC,GAAvD,IAA8D,CAACJ,KAAK,CAACK,KAAN,CAAYC,IAA/E,EAAqF;YACnFP,GAAG,CAACQ,IAAJ,CAASP,KAAK,CAACK,KAAN,CAAYG,CAArB;UACD;;UACD,IACE,cAAAb,iBAAA,CAAMM,cAAN,CAAqBD,KAArB,KACAA,KAAK,CAACE,IAAN,KAAeC,QAAQ,CAACM,aADxB,IAEA,CAACT,KAAK,CAACK,KAAN,CAAYC,IAHf,EAIE;YACAP,GAAG,CAACQ,IAAJ,CAASP,KAAK,CAACK,KAAN,CAAYK,CAArB;UACD;;UACD,OAAOX,GAAP;QACD,CAZY,EAYV,EAZU,CAAb;;QAaAN,KAAK,CAACC,IAAN,CAAWA,IAAX;MACD;;MAED,OAAOD,KAAK,CAACD,IAAD,CAAZ;IACD;;;WAED,4BAAmB;MAAA;;MAAA,IAALgB,CAAK,SAALA,CAAK;MACjB,qBAAiB,KAAKlB,OAAtB;MAAA,IAAQoB,CAAR,kBAAQA,CAAR;MAAA,IAAWC,CAAX,kBAAWA,CAAX;MAEA,IAAMC,WAAW,GAAG,KAAKC,MAAL,CAAYC,SAAZ,CAAsB,UAACC,CAAD;QAAA,OAAOA,CAAC,CAACC,GAAF,KAAUR,CAAjB;MAAA,CAAtB,CAApB,CAHiB,CAIjB;;MACA,IAAMK,MAAM,GAAG,KAAKA,MAAL,CAAYD,WAAZ,KAA4B,EAA3C;MAEA,IAAMK,IAAI,GAAGJ,MAAM,CAACK,GAAP,CAAW,UAACH,CAAD,EAAII,CAAJ;QAAA,OACtB,KAAI,CAACN,MAAL,CAAYO,KAAZ,CAAkBR,WAAW,GAAG,CAAhC,EAAmCS,IAAnC,CAAwC,UAACC,GAAD;UAAA,OAASA,GAAG,CAACH,CAAD,CAAH,CAAO,CAAP,MAAcG,GAAG,CAACH,CAAD,CAAH,CAAO,CAAP,CAAvB;QAAA,CAAxC,IAA4E,CAA5E,GAAgFR,CAD1D;MAAA,CAAX,CAAb;MAIA,OAAO;QACLnB,IAAI,EAAEqB,MAAM,CAACK,GAAP,CAAW,UAACH,CAAD;UAAA;;UAAA,uCACZA,CAAC,CAACvB,IADU,8EAEdgB,CAFc,EAEVO,CAAC,CAAC,CAAD,CAFS,oDAGd3B,GAHc,EAGR2B,CAAC,CAAC,CAAD,CAHO;QAAA,CAAX,CADD;QAMLQ,EAAE,EAAEnC,GANC;QAOLsB,CAAC,EAADA,CAPK;QAQLC,CAAC,EAAEM;
|
|
1
|
+
{"version":3,"file":"StackBar.js","names":["DEFAULT_INSTANCE","Symbol","XY0","StackBarRoot","asProps","Children","data","stack","keys","React","toArray","getOriginChildren","reduce","acc","child","isValidElement","type","StackBar","Bar","props","hide","push","y","HorizontalBar","x","r","seriesIndex","series","findIndex","s","key","rBar","map","i","slice","some","bar","y0","groupKey","x0","Element","getSeries","dataHintsHandler","establishDataType","Component","style","d3Stack","createElement"],"sources":["../../src/StackBar.jsx"],"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 groupKey: x,\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 groupKey: y,\n };\n }\n\n render() {\n const Element = this.Element;\n this.series = this.getSeries();\n\n this.asProps.dataHintsHandler.establishDataType('grouped-values');\n\n return <Element aria-hidden render=\"g\" series={this.series} />;\n }\n}\n\nconst StackBar = createElement(StackBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default StackBar;\n"],"mappings":"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"}
|
package/lib/cjs/StackedArea.js
CHANGED
|
@@ -46,16 +46,16 @@ var _ref = (
|
|
|
46
46
|
/*__reshadow_css_start__*/
|
|
47
47
|
(0, _core.__css__)(
|
|
48
48
|
/*__inner_css_start__*/
|
|
49
|
-
".
|
|
49
|
+
".___SArea_3afcc_gg_{fill:#2bb3ff;fill-opacity:.2}.___SArea_3afcc_gg_.__color_3afcc_gg_{fill:var(--color)}.___SAreaLine_3afcc_gg_{stroke:#2bb3ff;stroke-width:3;fill:transparent}.___SAreaLine_3afcc_gg_.__color_3afcc_gg_{stroke:var(--color)}.___SArea_3afcc_gg_,.___SAreaLine_3afcc_gg_{transition-property:d;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SNull_3afcc_gg_{fill:transparent;stroke:#8a8e9b;stroke-dasharray:4}.___SNull_3afcc_gg_.__hide_3afcc_gg_{display:none}"
|
|
50
50
|
/*__inner_css_end__*/
|
|
51
|
-
, "
|
|
51
|
+
, "mp0j3b_gg_")
|
|
52
52
|
/*__reshadow_css_end__*/
|
|
53
53
|
, {
|
|
54
|
-
"__SArea": "
|
|
55
|
-
"_color": "
|
|
56
|
-
"__SAreaLine": "
|
|
57
|
-
"__SNull": "
|
|
58
|
-
"_hide": "
|
|
54
|
+
"__SArea": "___SArea_3afcc_gg_",
|
|
55
|
+
"_color": "__color_3afcc_gg_",
|
|
56
|
+
"__SAreaLine": "___SAreaLine_3afcc_gg_",
|
|
57
|
+
"__SNull": "___SNull_3afcc_gg_",
|
|
58
|
+
"_hide": "__hide_3afcc_gg_"
|
|
59
59
|
}),
|
|
60
60
|
style = (0, _extends2["default"])({}, _ref);
|
|
61
61
|
|
|
@@ -119,6 +119,7 @@ var StackedAreaRoot = /*#__PURE__*/function (_Component) {
|
|
|
119
119
|
var Element = this.Element;
|
|
120
120
|
this.series = this.getSeries();
|
|
121
121
|
return /*#__PURE__*/_react["default"].createElement(Element, {
|
|
122
|
+
"aria-hidden": true,
|
|
122
123
|
render: "g",
|
|
123
124
|
series: this.series
|
|
124
125
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StackedArea.js","names":["DEFAULT_INSTANCE","Symbol","Y0","StackedAreaRoot","asProps","Children","data","stack","keys","React","toArray","getOriginChildren","reduce","acc","child","isValidElement","type","StackedArea","Area","props","hide","push","y","reverse","x","series","find","s","key","map","y0","Element","getSeries","Component","style","d3Stack","createElement"],"sources":["../../src/StackedArea.jsx"],"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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAMA,gBAAgB,GAAGC,MAAM,CAAC,kBAAD,CAA/B;AACA,IAAMC,EAAE,GAAGD,MAAM,CAAC,IAAD,CAAjB;;IAEME,e;;;;;;;;;;;;WAWJ,qBAAY;MACV,oBAAkC,KAAKC,OAAvC;MAAA,IAAQC,QAAR,iBAAQA,QAAR;MAAA,IAAkBC,IAAlB,iBAAkBA,IAAlB;MAAA,IAAwBC,KAAxB,iBAAwBA,KAAxB;;MAEA,IAAIA,KAAK,CAACP,gBAAD,CAAT,EAA6B;QAC3B,IAAMQ,IAAI,GAAGC,iBAAA,CAAMJ,QAAN,CAAeK,OAAf,CAAuB,IAAAC,6BAAA,EAAkBN,QAAlB,CAAvB,EAAoDO,MAApD,CAA2D,UAACC,GAAD,EAAMC,KAAN,EAAgB;UACtF,IAAI,cAAAL,iBAAA,CAAMM,cAAN,CAAqBD,KAArB,KAA+BA,KAAK,CAACE,IAAN,KAAeC,WAAW,CAACC,IAA1D,IAAkE,CAACJ,KAAK,CAACK,KAAN,CAAYC,IAAnF,EAAyF;YACvFP,GAAG,CAACQ,IAAJ,CAASP,KAAK,CAACK,KAAN,CAAYG,CAArB;UACD;;UACD,OAAOT,GAAP;QACD,CALY,EAKV,EALU,CAAb;;QAMAN,KAAK,CAACC,IAAN,CAAWA,IAAI,CAACe,OAAL,EAAX;MACD;;MAED,OAAOhB,KAAK,CAACD,IAAD,CAAZ;IACD;;;WAED,6BAAoB;MAAA,IAALgB,CAAK,SAALA,CAAK;MAClB,IAAQE,CAAR,GAAc,KAAKpB,OAAnB,CAAQoB,CAAR,CADkB,CAElB;;MACA,IAAMC,MAAM,GAAG,KAAKA,MAAL,CAAYC,IAAZ,CAAiB,UAACC,CAAD;QAAA,OAAOA,CAAC,CAACC,GAAF,KAAUN,CAAjB;MAAA,CAAjB,KAAwC,EAAvD;MACA,OAAO;QACLhB,IAAI,EAAEmB,MAAM,CAACI,GAAP,CAAW,UAACF,CAAD;UAAA;;UAAA,uCACZA,CAAC,CAACrB,IADU,8EAGdgB,CAHc,EAGVK,CAAC,CAACrB,IAAF,CAAOgB,CAAP,MAAc,IAAd,GAAqB,IAArB,GAA4BK,CAAC,CAAC,CAAD,CAHnB,oDAIdzB,EAJc,EAITyB,CAAC,CAAC,CAAD,CAJQ;QAAA,CAAX,CADD;QAOLG,EAAE,EAAE5B,EAPC;QAQLsB,CAAC,EAADA;MARK,CAAP;IAUD;;;WAED,kBAAS;MACP,IAAMO,OAAO,GAAG,KAAKA,OAArB;MACA,KAAKN,MAAL,GAAc,KAAKO,SAAL,EAAd;MACA,oBAAO,gCAAC,OAAD;QAAS,MAAM,EAAC,
|
|
1
|
+
{"version":3,"file":"StackedArea.js","names":["DEFAULT_INSTANCE","Symbol","Y0","StackedAreaRoot","asProps","Children","data","stack","keys","React","toArray","getOriginChildren","reduce","acc","child","isValidElement","type","StackedArea","Area","props","hide","push","y","reverse","x","series","find","s","key","map","y0","Element","getSeries","Component","style","d3Stack","createElement"],"sources":["../../src/StackedArea.jsx"],"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 aria-hidden render=\"g\" series={this.series} />;\n }\n}\n\nconst StackedArea = createElement(StackedAreaRoot, { Area });\n\nexport default StackedArea;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAMA,gBAAgB,GAAGC,MAAM,CAAC,kBAAD,CAA/B;AACA,IAAMC,EAAE,GAAGD,MAAM,CAAC,IAAD,CAAjB;;IAEME,e;;;;;;;;;;;;WAWJ,qBAAY;MACV,oBAAkC,KAAKC,OAAvC;MAAA,IAAQC,QAAR,iBAAQA,QAAR;MAAA,IAAkBC,IAAlB,iBAAkBA,IAAlB;MAAA,IAAwBC,KAAxB,iBAAwBA,KAAxB;;MAEA,IAAIA,KAAK,CAACP,gBAAD,CAAT,EAA6B;QAC3B,IAAMQ,IAAI,GAAGC,iBAAA,CAAMJ,QAAN,CAAeK,OAAf,CAAuB,IAAAC,6BAAA,EAAkBN,QAAlB,CAAvB,EAAoDO,MAApD,CAA2D,UAACC,GAAD,EAAMC,KAAN,EAAgB;UACtF,IAAI,cAAAL,iBAAA,CAAMM,cAAN,CAAqBD,KAArB,KAA+BA,KAAK,CAACE,IAAN,KAAeC,WAAW,CAACC,IAA1D,IAAkE,CAACJ,KAAK,CAACK,KAAN,CAAYC,IAAnF,EAAyF;YACvFP,GAAG,CAACQ,IAAJ,CAASP,KAAK,CAACK,KAAN,CAAYG,CAArB;UACD;;UACD,OAAOT,GAAP;QACD,CALY,EAKV,EALU,CAAb;;QAMAN,KAAK,CAACC,IAAN,CAAWA,IAAI,CAACe,OAAL,EAAX;MACD;;MAED,OAAOhB,KAAK,CAACD,IAAD,CAAZ;IACD;;;WAED,6BAAoB;MAAA,IAALgB,CAAK,SAALA,CAAK;MAClB,IAAQE,CAAR,GAAc,KAAKpB,OAAnB,CAAQoB,CAAR,CADkB,CAElB;;MACA,IAAMC,MAAM,GAAG,KAAKA,MAAL,CAAYC,IAAZ,CAAiB,UAACC,CAAD;QAAA,OAAOA,CAAC,CAACC,GAAF,KAAUN,CAAjB;MAAA,CAAjB,KAAwC,EAAvD;MACA,OAAO;QACLhB,IAAI,EAAEmB,MAAM,CAACI,GAAP,CAAW,UAACF,CAAD;UAAA;;UAAA,uCACZA,CAAC,CAACrB,IADU,8EAGdgB,CAHc,EAGVK,CAAC,CAACrB,IAAF,CAAOgB,CAAP,MAAc,IAAd,GAAqB,IAArB,GAA4BK,CAAC,CAAC,CAAD,CAHnB,oDAIdzB,EAJc,EAITyB,CAAC,CAAC,CAAD,CAJQ;QAAA,CAAX,CADD;QAOLG,EAAE,EAAE5B,EAPC;QAQLsB,CAAC,EAADA;MARK,CAAP;IAUD;;;WAED,kBAAS;MACP,IAAMO,OAAO,GAAG,KAAKA,OAArB;MACA,KAAKN,MAAL,GAAc,KAAKO,SAAL,EAAd;MACA,oBAAO,gCAAC,OAAD;QAAS,mBAAT;QAAqB,MAAM,EAAC,GAA5B;QAAgC,MAAM,EAAE,KAAKP;MAA7C,EAAP;IACD;;;EA/C2BQ,e;;iCAAxB9B,e,iBACiB,a;iCADjBA,e,WAGW+B,K;iCAHX/B,e,kBAKkB,YAAM;EAC1B,IAAMI,KAAK,GAAG,IAAA4B,cAAA,GAAd;EACA5B,KAAK,CAACP,gBAAD,CAAL,GAA0B,IAA1B;EACA,OAAO;IAAEO,KAAK,EAALA;EAAF,CAAP;AACD,C;AAyCH,IAAMU,WAAW,GAAG,IAAAmB,yBAAA,EAAcjC,eAAd,EAA+B;EAAEe,IAAI,EAAJA;AAAF,CAA/B,CAApB;eAEeD,W"}
|
package/lib/cjs/Tooltip.js
CHANGED
|
@@ -60,17 +60,17 @@ var style = (
|
|
|
60
60
|
/*__reshadow_css_start__*/
|
|
61
61
|
_core.sstyled.insert(
|
|
62
62
|
/*__inner_css_start__*/
|
|
63
|
-
".
|
|
63
|
+
".___STooltip_c3mpf_gg_{font-size:12px;line-height:1.33;position:relative;background-color:#fff;border-radius:6px;border:1px solid #e0e1e9;box-sizing:border-box;box-shadow:0px 1px 12px 0px rgba(25, 27, 35, 0.15);padding:12px}.___STitle_c3mpf_gg_{color:#6c6e79;margin-bottom:8px}.___SDotGroup_c3mpf_gg_{display:flex;align-items:center}.___SDot_c3mpf_gg_{width:8px;height:8px;border-radius:50%;margin-right:8px;background:#2bb3ff}.___SDot_c3mpf_gg_.__color_c3mpf_gg_{background:var(--color_c3mpf)}"
|
|
64
64
|
/*__inner_css_end__*/
|
|
65
|
-
, "
|
|
65
|
+
, "c3mpf_gg_")
|
|
66
66
|
/*__reshadow_css_end__*/
|
|
67
67
|
, {
|
|
68
|
-
"__STooltip": "
|
|
69
|
-
"__STitle": "
|
|
70
|
-
"__SDotGroup": "
|
|
71
|
-
"__SDot": "
|
|
72
|
-
"_color": "
|
|
73
|
-
"--color": "--
|
|
68
|
+
"__STooltip": "___STooltip_c3mpf_gg_",
|
|
69
|
+
"__STitle": "___STitle_c3mpf_gg_",
|
|
70
|
+
"__SDotGroup": "___SDotGroup_c3mpf_gg_",
|
|
71
|
+
"__SDot": "___SDot_c3mpf_gg_",
|
|
72
|
+
"_color": "__color_c3mpf_gg_",
|
|
73
|
+
"--color": "--color_c3mpf"
|
|
74
74
|
});
|
|
75
75
|
|
|
76
76
|
var TooltipRoot = /*#__PURE__*/function (_Component) {
|
package/lib/cjs/Venn.js
CHANGED
|
@@ -48,16 +48,16 @@ var style = (
|
|
|
48
48
|
/*__reshadow_css_start__*/
|
|
49
49
|
_core.sstyled.insert(
|
|
50
50
|
/*__inner_css_start__*/
|
|
51
|
-
".
|
|
51
|
+
".___SCircle_1ny5s_gg_{fill:#59ddaa;stroke:#fff;stroke-width:2px;fill-opacity:.5;transition-property:cx,cy;transition-duration:var(--duration_1ny5s);transition-timing-function:ease-in-out}.___SCircle_1ny5s_gg_:hover{fill-opacity:.7}.___SCircle_1ny5s_gg_.__color_1ny5s_gg_{fill:var(--color_1ny5s)}.___SIntersection_1ny5s_gg_{stroke:#fff;stroke-width:2px;fill-opacity:0}.___SIntersection_1ny5s_gg_:hover{fill-opacity:.1}"
|
|
52
52
|
/*__inner_css_end__*/
|
|
53
|
-
, "
|
|
53
|
+
, "1ny5s_gg_")
|
|
54
54
|
/*__reshadow_css_end__*/
|
|
55
55
|
, {
|
|
56
|
-
"__SCircle": "
|
|
57
|
-
"--duration": "--
|
|
58
|
-
"_color": "
|
|
59
|
-
"--color": "--
|
|
60
|
-
"__SIntersection": "
|
|
56
|
+
"__SCircle": "___SCircle_1ny5s_gg_",
|
|
57
|
+
"--duration": "--duration_1ny5s",
|
|
58
|
+
"_color": "__color_1ny5s_gg_",
|
|
59
|
+
"--color": "--color_1ny5s",
|
|
60
|
+
"__SIntersection": "___SIntersection_1ny5s_gg_"
|
|
61
61
|
});
|
|
62
62
|
|
|
63
63
|
var VennRoot = /*#__PURE__*/function (_Component) {
|
|
@@ -88,6 +88,7 @@ var VennRoot = /*#__PURE__*/function (_Component) {
|
|
|
88
88
|
});
|
|
89
89
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "renderElement", /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
|
|
90
90
|
return /*#__PURE__*/_react["default"].createElement(_animation.FadeInOut, (0, _extends2["default"])({
|
|
91
|
+
"aria-hidden": true,
|
|
91
92
|
ref: ref,
|
|
92
93
|
tag: "g",
|
|
93
94
|
visible: true
|
|
@@ -143,6 +144,7 @@ var VennRoot = /*#__PURE__*/function (_Component) {
|
|
|
143
144
|
return {
|
|
144
145
|
duration: this.asProps.duration,
|
|
145
146
|
data: this.vennData[props.dataKey],
|
|
147
|
+
originalData: this.asProps.data[props.dataKey],
|
|
146
148
|
onMouseMove: this.bindHandlerTooltip(true, props),
|
|
147
149
|
onMouseLeave: this.bindHandlerTooltip(false, props)
|
|
148
150
|
};
|
|
@@ -158,6 +160,7 @@ var VennRoot = /*#__PURE__*/function (_Component) {
|
|
|
158
160
|
data: Object.values(this.vennData).filter(function (d) {
|
|
159
161
|
return dataKeys.includes(d.setid);
|
|
160
162
|
}),
|
|
163
|
+
originalData: this.asProps.data[props.dataKey],
|
|
161
164
|
onMouseMove: this.bindHandlerTooltip(true, props),
|
|
162
165
|
onMouseLeave: this.bindHandlerTooltip(false, props)
|
|
163
166
|
};
|
|
@@ -166,8 +169,10 @@ var VennRoot = /*#__PURE__*/function (_Component) {
|
|
|
166
169
|
key: "render",
|
|
167
170
|
value: function render() {
|
|
168
171
|
var Element = this.Element;
|
|
172
|
+
this.asProps.dataHintsHandler.establishDataType('values-set');
|
|
169
173
|
this.vennData = this.getVennData();
|
|
170
174
|
return /*#__PURE__*/_react["default"].createElement(Element, {
|
|
175
|
+
"aria-hidden": true,
|
|
171
176
|
render: this.renderElement,
|
|
172
177
|
childrenPosition: "inside",
|
|
173
178
|
vennData: this.vennData
|
|
@@ -194,8 +199,13 @@ function Circle(_ref6) {
|
|
|
194
199
|
styles = _ref6.styles,
|
|
195
200
|
color = _ref6.color,
|
|
196
201
|
data = _ref6.data,
|
|
197
|
-
duration = _ref6.duration
|
|
202
|
+
duration = _ref6.duration,
|
|
203
|
+
name = _ref6.name,
|
|
204
|
+
dataKey = _ref6.dataKey,
|
|
205
|
+
dataHintsHandler = _ref6.dataHintsHandler;
|
|
206
|
+
dataHintsHandler.describeValueEntity(dataKey, name);
|
|
198
207
|
return _ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SCircle, _ref.cn("SCircle", {
|
|
208
|
+
"aria-hidden": true,
|
|
199
209
|
"render": "circle",
|
|
200
210
|
"color": color,
|
|
201
211
|
"cx": data.x,
|
|
@@ -210,10 +220,15 @@ function Intersection(props) {
|
|
|
210
220
|
|
|
211
221
|
var SIntersection = props.Element,
|
|
212
222
|
styles = props.styles,
|
|
213
|
-
data = props.data
|
|
223
|
+
data = props.data,
|
|
224
|
+
name = props.name,
|
|
225
|
+
dataKey = props.dataKey,
|
|
226
|
+
dataHintsHandler = props.dataHintsHandler;
|
|
227
|
+
dataHintsHandler.describeValueEntity(dataKey, name);
|
|
214
228
|
|
|
215
229
|
var renderIntersection = _react["default"].useCallback( /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
|
|
216
230
|
return /*#__PURE__*/_react["default"].createElement(_animation.FadeInOut, (0, _extends2["default"])({
|
|
231
|
+
"aria-hidden": true,
|
|
217
232
|
ref: ref,
|
|
218
233
|
tag: "path",
|
|
219
234
|
visible: true
|
|
@@ -221,6 +236,7 @@ function Intersection(props) {
|
|
|
221
236
|
}), [props]);
|
|
222
237
|
|
|
223
238
|
return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SIntersection, _ref2.cn("SIntersection", {
|
|
239
|
+
"aria-hidden": true,
|
|
224
240
|
"render": renderIntersection,
|
|
225
241
|
"d": (0, _venn.intersectionAreaPath)(data)
|
|
226
242
|
}));
|
package/lib/cjs/Venn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Venn.js","names":["VennRoot","canUseDOM","document","createElement","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","React","forwardRef","ref","width","height","top","right","bottom","left","data","orientation","orientationOrder","size","vennData","Object","entries","map","dataKey","sets","split","scaleSolution","normalizeSolution","venn","duration","onMouseMove","bindHandlerTooltip","onMouseLeave","dataKeys","delay","values","filter","d","includes","setid","Element","getVennData","renderElement","Component","style","Math","PI","c1","c2","radius","Circle","SCircle","styles","color","sstyled","Intersection","SIntersection","renderIntersection","useCallback","intersectionAreaPath","Venn"],"sources":["../../src/Venn.jsx"],"sourcesContent":["import React from 'react';\nimport { venn, normalizeSolution, scaleSolution, intersectionAreaPath } from '@upsetjs/venn.js';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { FadeInOut } from '@semcore/animation';\n\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\n\nimport style from './style/venn.shadow.css';\n\nclass VennRoot extends Component {\n static displayName = 'Venn';\n static style = style;\n\n static defaultProps = {\n orientation: Math.PI / 2,\n orientationOrder: (c1, c2) => c2.radius - c1.radius,\n duration: 500,\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 getVennData() {\n const { data, orientation, orientationOrder, size } = this.asProps;\n const [width, height] = size;\n const vennData = Object.entries(data).map(([dataKey, size]) => ({\n sets: dataKey.split('/'),\n size,\n }));\n return scaleSolution(\n normalizeSolution(venn(vennData), orientation, orientationOrder),\n width,\n height,\n 10,\n );\n }\n\n getCircleProps(props) {\n return {\n duration: this.asProps.duration,\n data: this.vennData[props.dataKey],\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n };\n }\n\n getIntersectionProps(props) {\n const { duration } = this.asProps;\n const dataKeys = props.dataKey.split('/');\n return {\n duration,\n delay: duration,\n data: Object.values(this.vennData).filter((d) => dataKeys.includes(d.setid)),\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n };\n }\n\n renderElement = React.forwardRef((props, ref) => {\n return <FadeInOut ref={ref} tag=\"g\" visible {...props} />;\n });\n\n render() {\n const Element = this.Element;\n this.vennData = this.getVennData();\n return (\n <Element
|
|
1
|
+
{"version":3,"file":"Venn.js","names":["VennRoot","canUseDOM","document","createElement","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","React","forwardRef","ref","width","height","top","right","bottom","left","data","orientation","orientationOrder","size","vennData","Object","entries","map","dataKey","sets","split","scaleSolution","normalizeSolution","venn","duration","originalData","onMouseMove","bindHandlerTooltip","onMouseLeave","dataKeys","delay","values","filter","d","includes","setid","Element","dataHintsHandler","establishDataType","getVennData","renderElement","Component","style","Math","PI","c1","c2","radius","Circle","SCircle","styles","color","name","describeValueEntity","sstyled","Intersection","SIntersection","renderIntersection","useCallback","intersectionAreaPath","Venn"],"sources":["../../src/Venn.jsx"],"sourcesContent":["import React from 'react';\nimport { venn, normalizeSolution, scaleSolution, intersectionAreaPath } from '@upsetjs/venn.js';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { FadeInOut } from '@semcore/animation';\n\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\n\nimport style from './style/venn.shadow.css';\n\nclass VennRoot extends Component {\n static displayName = 'Venn';\n static style = style;\n\n static defaultProps = {\n orientation: Math.PI / 2,\n orientationOrder: (c1, c2) => c2.radius - c1.radius,\n duration: 500,\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 getVennData() {\n const { data, orientation, orientationOrder, size } = this.asProps;\n const [width, height] = size;\n const vennData = Object.entries(data).map(([dataKey, size]) => ({\n sets: dataKey.split('/'),\n size,\n }));\n return scaleSolution(\n normalizeSolution(venn(vennData), orientation, orientationOrder),\n width,\n height,\n 10,\n );\n }\n\n getCircleProps(props) {\n return {\n duration: this.asProps.duration,\n data: this.vennData[props.dataKey],\n originalData: this.asProps.data[props.dataKey],\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n };\n }\n\n getIntersectionProps(props) {\n const { duration } = this.asProps;\n const dataKeys = props.dataKey.split('/');\n return {\n duration,\n delay: duration,\n data: Object.values(this.vennData).filter((d) => dataKeys.includes(d.setid)),\n originalData: this.asProps.data[props.dataKey],\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n };\n }\n\n renderElement = React.forwardRef((props, ref) => {\n return <FadeInOut aria-hidden ref={ref} tag=\"g\" visible {...props} />;\n });\n\n render() {\n const Element = this.Element;\n this.asProps.dataHintsHandler.establishDataType('values-set');\n this.vennData = this.getVennData();\n return (\n <Element\n aria-hidden\n render={this.renderElement}\n childrenPosition=\"inside\"\n vennData={this.vennData}\n />\n );\n }\n}\n\nfunction Circle({\n Element: SCircle,\n styles,\n color,\n data,\n duration,\n name,\n dataKey,\n dataHintsHandler,\n}) {\n dataHintsHandler.describeValueEntity(dataKey, name);\n\n return sstyled(styles)(\n <SCircle\n aria-hidden\n render=\"circle\"\n color={color}\n cx={data.x}\n cy={data.y}\n r={data.radius}\n use:duration={`${duration}ms`}\n />,\n );\n}\n\nfunction Intersection(props) {\n const { Element: SIntersection, styles, data, name, dataKey, dataHintsHandler } = props;\n dataHintsHandler.describeValueEntity(dataKey, name);\n\n const renderIntersection = React.useCallback(\n React.forwardRef((props, ref) => {\n return <FadeInOut aria-hidden ref={ref} tag=\"path\" visible {...props} />;\n }),\n [props],\n );\n return sstyled(styles)(\n <SIntersection aria-hidden render={renderIntersection} d={intersectionAreaPath(data)} />,\n );\n}\n\nconst Venn = createElement(VennRoot, { Circle, Intersection });\n\nexport default Venn;\n"],"mappings":"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"}
|