@semcore/d3-chart 1.6.2 → 1.6.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 +18 -0
- package/lib/cjs/Area.js +6 -6
- package/lib/cjs/Area.js.map +1 -1
- package/lib/cjs/Axis.js +14 -14
- package/lib/cjs/Axis.js.map +1 -1
- package/lib/cjs/Bar.js +5 -5
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Bubble.js +9 -9
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/ClipPath.js +28 -8
- package/lib/cjs/ClipPath.js.map +1 -1
- package/lib/cjs/Donut.js +5 -5
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +11 -7
- package/lib/cjs/Dots.js.map +1 -1
- package/lib/cjs/GroupBar.js +6 -6
- package/lib/cjs/GroupBar.js.map +1 -1
- package/lib/cjs/HorizontalBar.js +5 -5
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Hover.js +3 -3
- package/lib/cjs/Hover.js.map +1 -1
- package/lib/cjs/Line.js +5 -5
- package/lib/cjs/Line.js.map +1 -1
- package/lib/cjs/Plot.js +8 -4
- package/lib/cjs/Plot.js.map +1 -1
- package/lib/cjs/ResponsiveContainer.js +8 -4
- package/lib/cjs/ResponsiveContainer.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +6 -6
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/StackBar.js +8 -8
- package/lib/cjs/StackBar.js.map +1 -1
- package/lib/cjs/StackedArea.js +9 -9
- package/lib/cjs/StackedArea.js.map +1 -1
- package/lib/cjs/Tooltip.js +19 -13
- package/lib/cjs/Tooltip.js.map +1 -1
- package/lib/cjs/Venn.js +4 -4
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/color.js +1 -1
- package/lib/cjs/color.js.map +1 -1
- package/lib/cjs/createElement.js +15 -7
- package/lib/cjs/createElement.js.map +1 -1
- package/lib/cjs/index.js +36 -36
- package/lib/cjs/utils.js +17 -17
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Area.js +6 -6
- package/lib/es6/Area.js.map +1 -1
- package/lib/es6/Axis.js +14 -14
- package/lib/es6/Axis.js.map +1 -1
- package/lib/es6/Bar.js +5 -5
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Bubble.js +9 -9
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/ClipPath.js +21 -6
- package/lib/es6/ClipPath.js.map +1 -1
- package/lib/es6/Donut.js +5 -5
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +5 -5
- package/lib/es6/Dots.js.map +1 -1
- package/lib/es6/GroupBar.js +6 -6
- package/lib/es6/GroupBar.js.map +1 -1
- package/lib/es6/HorizontalBar.js +5 -5
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Hover.js +3 -3
- package/lib/es6/Hover.js.map +1 -1
- package/lib/es6/Line.js +5 -5
- package/lib/es6/Line.js.map +1 -1
- package/lib/es6/Plot.js +2 -2
- package/lib/es6/Plot.js.map +1 -1
- package/lib/es6/ResponsiveContainer.js +2 -2
- package/lib/es6/ResponsiveContainer.js.map +1 -1
- package/lib/es6/ScatterPlot.js +6 -6
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/StackBar.js +8 -8
- package/lib/es6/StackBar.js.map +1 -1
- package/lib/es6/StackedArea.js +9 -9
- package/lib/es6/StackedArea.js.map +1 -1
- package/lib/es6/Tooltip.js +12 -11
- package/lib/es6/Tooltip.js.map +1 -1
- package/lib/es6/Venn.js +4 -4
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/color.js.map +1 -1
- package/lib/es6/createElement.js +8 -5
- package/lib/es6/createElement.js.map +1 -1
- package/lib/es6/utils.js +10 -10
- package/lib/es6/utils.js.map +1 -1
- package/package.json +8 -3
- package/src/Bar.js +2 -7
- package/src/Bubble.js +2 -5
- package/src/ClipPath.js +13 -3
- package/src/Donut.js +8 -10
- package/src/Plot.js +1 -1
- package/src/ScatterPlot.js +2 -8
- package/src/Tooltip.js +2 -2
- package/src/color.js +1 -1
- package/src/createElement.js +4 -4
- package/src/utils.js +2 -5
package/lib/es6/Bubble.js
CHANGED
|
@@ -9,9 +9,9 @@ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
|
9
9
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
10
10
|
import { sstyled as _sstyled } from "@semcore/core";
|
|
11
11
|
|
|
12
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
12
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
13
13
|
|
|
14
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
14
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
15
15
|
|
|
16
16
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
17
17
|
|
|
@@ -30,19 +30,19 @@ var style = (
|
|
|
30
30
|
/*__reshadow_css_start__*/
|
|
31
31
|
_sstyled.insert(
|
|
32
32
|
/*__inner_css_start__*/
|
|
33
|
-
".
|
|
33
|
+
".___SBubble_qnd2k_gg_{fill:#2bb3ff;stroke:#fff;stroke-width:2px;transition-property:cx,cy;transition-duration:var(--duration_1pe3cbw);transition-timing-function:ease-in-out;opacity:.5}.___SBubble_qnd2k_gg_:hover{opacity:.8}.___SBubble_qnd2k_gg_.__color_qnd2k_gg_{fill:var(--color_1pe3cbw)}.___SCenter_qnd2k_gg_{text-anchor:middle;font-size:11px;stroke:#2bb3ff}.___SCenter_qnd2k_gg_.__color_qnd2k_gg_{stroke:var(--color_1pe3cbw)}.___SLabel_qnd2k_gg_{fill:#2bb3ff}.___SLabel_qnd2k_gg_._position_right_qnd2k_gg_{text-anchor:end}.___SLabel_qnd2k_gg_._position_left_qnd2k_gg_{text-anchor:start}.___SLabel_qnd2k_gg_.__color_qnd2k_gg_{fill:var(--color_1pe3cbw)}"
|
|
34
34
|
/*__inner_css_end__*/
|
|
35
35
|
, "1pe3cbw_gg_")
|
|
36
36
|
/*__reshadow_css_end__*/
|
|
37
37
|
, {
|
|
38
|
-
"__SBubble": "
|
|
38
|
+
"__SBubble": "___SBubble_qnd2k_gg_",
|
|
39
39
|
"--duration": "--duration_1pe3cbw",
|
|
40
|
-
"_color": "
|
|
40
|
+
"_color": "__color_qnd2k_gg_",
|
|
41
41
|
"--color": "--color_1pe3cbw",
|
|
42
|
-
"__SCenter": "
|
|
43
|
-
"__SLabel": "
|
|
44
|
-
"_position_right": "
|
|
45
|
-
"_position_left": "
|
|
42
|
+
"__SCenter": "___SCenter_qnd2k_gg_",
|
|
43
|
+
"__SLabel": "___SLabel_qnd2k_gg_",
|
|
44
|
+
"_position_right": "_position_right_qnd2k_gg_",
|
|
45
|
+
"_position_left": "_position_left_qnd2k_gg_"
|
|
46
46
|
});
|
|
47
47
|
import ClipPath from './ClipPath';
|
|
48
48
|
import { scaleSqrt } from 'd3-scale';
|
package/lib/es6/Bubble.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Bubble.js"],"names":["React","Component","sstyled","canUseDOM","CONSTANT","createElement","uniqueIDEnhancement","transition","ClipPath","scaleSqrt","memoize","func","results","argsKey","measureText","text","span","document","append","createTextNode","style","display","body","textLength","offsetWidth","remove","BubbleRoot","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","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","_","ind","animationCircle","d","i","color","scale","offset","styles","label","markedCross","size","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","min","labelPosition","labelDistance","bindHandlerTooltip","xIndex","marginX","marginY","renderCircle","bind","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 let 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 = (visible, props) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n animationCircle() {\n const { duration, uid, data, value } = this.asProps;\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const selectRect = transition()\n .selection()\n .selectAll(`[id^=${uid}${uid}]`)\n .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, size, scale } = this.asProps;\n const [xScale, yScale] = scale;\n const marginX = Math.min(xScale.range()[0], xScale.range()[1]);\n const marginY = 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\n id={uid}\n x={marginX}\n y={marginY}\n width={`${size[0] - 2 * marginX}px`}\n height={`${size[1] - 2 * marginY}px`}\n />\n </>\n );\n }\n}\n\nconst Bubble = createElement(BubbleRoot);\n\nexport default Bubble;\n"],"file":"Bubble.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/Bubble.js"],"names":["React","Component","sstyled","canUseDOM","CONSTANT","createElement","uniqueIDEnhancement","transition","ClipPath","scaleSqrt","memoize","func","results","argsKey","measureText","text","span","document","append","createTextNode","style","display","body","textLength","offsetWidth","remove","BubbleRoot","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","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","_","ind","animationCircle","d","i","color","scale","offset","styles","label","markedCross","size","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","min","labelPosition","labelDistance","bindHandlerTooltip","xIndex","marginX","marginY","renderCircle","bind","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 let 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 = (visible, props) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n animationCircle() {\n const { duration, uid, data, value } = this.asProps;\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const selectRect = transition().selection().selectAll(`[id^=${uid}${uid}]`).attr('r', 0);\n\n const selectRectNode = selectRect.node();\n if (duration > 0 && selectRectNode) {\n selectRect\n .transition()\n .duration(duration)\n .attr('r', function (_, ind) {\n return z(data[ind][value]);\n });\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n offset,\n styles,\n uid,\n duration,\n value,\n label,\n markedCross,\n size,\n data,\n } = 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, size, scale } = this.asProps;\n const [xScale, yScale] = scale;\n const marginX = Math.min(xScale.range()[0], xScale.range()[1]);\n const marginY = 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\n id={uid}\n x={marginX}\n y={marginY}\n width={`${size[0] - 2 * marginX}px`}\n height={`${size[1] - 2 * marginY}px`}\n />\n </>\n );\n }\n}\n\nconst Bubble = createElement(BubbleRoot);\n\nexport default Bubble;\n"],"file":"Bubble.js"}
|
package/lib/es6/ClipPath.js
CHANGED
|
@@ -7,10 +7,11 @@ import _inherits from "@babel/runtime/helpers/inherits";
|
|
|
7
7
|
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
8
8
|
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
9
9
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
10
|
+
var _excluded = ["id", "transition", "tag", "style", "className"];
|
|
10
11
|
|
|
11
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
12
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
12
13
|
|
|
13
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
14
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
14
15
|
|
|
15
16
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
16
17
|
|
|
@@ -42,18 +43,32 @@ var ClipPath = /*#__PURE__*/function (_Component) {
|
|
|
42
43
|
}
|
|
43
44
|
|
|
44
45
|
_createClass(ClipPath, [{
|
|
45
|
-
key: "
|
|
46
|
-
value: function
|
|
46
|
+
key: "setAttributeTag",
|
|
47
|
+
value: function setAttributeTag() {
|
|
47
48
|
var _this$asProps = this.asProps,
|
|
48
49
|
id = _this$asProps.id,
|
|
49
50
|
tag = _this$asProps.tag,
|
|
50
51
|
setAttributeTag = _this$asProps.setAttributeTag;
|
|
52
|
+
|
|
53
|
+
if (setAttributeTag) {
|
|
54
|
+
Array.from(document.querySelectorAll("#".concat(id, " ").concat(tag))).forEach(setAttributeTag);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}, {
|
|
58
|
+
key: "componentDidMount",
|
|
59
|
+
value: function componentDidMount() {
|
|
60
|
+
var id = this.asProps.id;
|
|
51
61
|
if (!document || !id || !document.querySelector("#".concat(id))) return;
|
|
52
62
|
var svg = document.querySelector("#".concat(id)).closest('svg');
|
|
53
63
|
Array.from(svg.querySelectorAll("[clip-path=\"url(#".concat(id, ")\"]"))).forEach(function (node) {
|
|
54
64
|
node && node.getTotalLength && node.getTotalLength();
|
|
55
65
|
});
|
|
56
|
-
setAttributeTag
|
|
66
|
+
this.setAttributeTag();
|
|
67
|
+
}
|
|
68
|
+
}, {
|
|
69
|
+
key: "componentDidUpdate",
|
|
70
|
+
value: function componentDidUpdate() {
|
|
71
|
+
this.setAttributeTag();
|
|
57
72
|
}
|
|
58
73
|
}, {
|
|
59
74
|
key: "render",
|
|
@@ -64,7 +79,7 @@ var ClipPath = /*#__PURE__*/function (_Component) {
|
|
|
64
79
|
Tag = _this$asProps2.tag,
|
|
65
80
|
style = _this$asProps2.style,
|
|
66
81
|
className = _this$asProps2.className,
|
|
67
|
-
other = _objectWithoutProperties(_this$asProps2,
|
|
82
|
+
other = _objectWithoutProperties(_this$asProps2, _excluded);
|
|
68
83
|
|
|
69
84
|
return /*#__PURE__*/React.createElement("clipPath", {
|
|
70
85
|
ref: this.refClipPath,
|
package/lib/es6/ClipPath.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ClipPath.js"],"names":["React","createComponent","Component","propsForElement","ClipPath","createRef","asProps","id","tag","setAttributeTag","
|
|
1
|
+
{"version":3,"sources":["../../src/ClipPath.js"],"names":["React","createComponent","Component","propsForElement","ClipPath","createRef","asProps","id","tag","setAttributeTag","Array","from","document","querySelectorAll","forEach","querySelector","svg","closest","node","getTotalLength","transition","Tag","style","className","other","refClipPath"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,eAAP,IAA0BC,SAA1B,QAA2C,eAA3C;AACA,OAAOC,eAAP,MAA4B,oCAA5B;;IAEMC,Q;;;;;;;;;;;;;;;;+EAQUJ,KAAK,CAACK,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,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,oBAAC,GAAD;AAAK,QAAA,KAAK,kCAAOe,KAAP;AAAcF,UAAAA,UAAU,EAAVA;AAAd;AAAV,SAA0CjB,eAAe,CAACqB,KAAD,EAAQH,GAAR,CAAzD,EADF,CADF;AAKD;;;;EAtCoBnB,S;;gBAAjBE,Q,kBACkB;AACpBI,EAAAA,GAAG,EAAE,MADe;AAEpBD,EAAAA,EAAE,EAAE,EAFgB;AAGpBa,EAAAA,UAAU,EAAE,EAHQ;AAIpBX,EAAAA,eAAe,EAAE;AAJG,C;;AAwCxB,eAAeR,eAAe,CAACG,QAAD,CAA9B","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 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/es6/Donut.js
CHANGED
|
@@ -28,16 +28,16 @@ var style = (
|
|
|
28
28
|
/*__reshadow_css_start__*/
|
|
29
29
|
_sstyled.insert(
|
|
30
30
|
/*__inner_css_start__*/
|
|
31
|
-
".
|
|
31
|
+
".___SPie_1f47o_gg_{stroke:#fff;fill:#50aef4}.___SPie_1f47o_gg_.__color_1f47o_gg_{fill:var(--color_40fbm0)}.___SEmptyData_1f47o_gg_{fill:#e4ecf1}.___SEmptyData_1f47o_gg_.__color_1f47o_gg_{fill:var(--color_40fbm0)}.___SLabel_1f47o_gg_{text-anchor:middle;vertical-anchor:middle}"
|
|
32
32
|
/*__inner_css_end__*/
|
|
33
33
|
, "40fbm0_gg_")
|
|
34
34
|
/*__reshadow_css_end__*/
|
|
35
35
|
, {
|
|
36
|
-
"__SPie": "
|
|
37
|
-
"_color": "
|
|
36
|
+
"__SPie": "___SPie_1f47o_gg_",
|
|
37
|
+
"_color": "__color_1f47o_gg_",
|
|
38
38
|
"--color": "--color_40fbm0",
|
|
39
|
-
"__SEmptyData": "
|
|
40
|
-
"__SLabel": "
|
|
39
|
+
"__SEmptyData": "___SEmptyData_1f47o_gg_",
|
|
40
|
+
"__SLabel": "___SLabel_1f47o_gg_"
|
|
41
41
|
});
|
|
42
42
|
var DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');
|
|
43
43
|
|
package/lib/es6/Donut.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Donut.js"],"names":["React","arc","pie","Component","sstyled","canUseDOM","getOriginChildren","CONSTANT","createElement","uniqueIDEnhancement","interpolate","transition","DEFAULT_INSTANCE","Symbol","animationInitialPie","halfsize","d3Arc","arcs","_","ind","d","iStart","Math","PI","startAngle","iEnd","endAngle","t","animationUpdatePie","_current","i","animationHoverPie","selector","duration","innerRadius","outerRadius","selection","select","attrTween","min","max","d3ArcOut","increaseFactor","getOuterRadius","size","width","height","minORmax","DonutRoot","document","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","uid","id","top","right","bottom","left","Children","data","d3Pie","pieData","Object","entries","keys","toArray","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","key","includes","sort","a","b","indexOf","minValue","cur","map","find","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","prevProps","$rootProps","selectAll","each","Element","k","getArcs","style","value","SPie","styles","color","EmptyData","SEmptyData","Label","SLabel"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { arc, pie } from 'd3-shape';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport { CONSTANT } from './utils';\nimport createElement from './createElement';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { interpolate } from 'd3-interpolate';\nimport { transition } from 'd3-transition';\n\nimport style from './style/donut.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\n\nfunction animationInitialPie({ halfsize, d3Arc, arcs }) {\n return function(_, ind) {\n const d = arcs[ind];\n if (!d) return () => '';\n const iStart = interpolate(halfsize ? -Math.PI / 2 : 0, d.startAngle);\n const iEnd = interpolate(halfsize ? -Math.PI / 2 : 0, d.endAngle);\n return function(t) {\n d.startAngle = iStart(t);\n d.endAngle = iEnd(t);\n return d3Arc(d);\n };\n };\n}\n\nfunction animationUpdatePie({ halfsize, arcs, d3Arc }) {\n return function(_, ind) {\n const d = arcs[ind];\n if (this._current) {\n const i = interpolate(this._current, d);\n this._current = i(0);\n return function(t) {\n return d3Arc(i(t));\n };\n } else {\n this._current = d;\n return animationInitialPie({ halfsize, arcs, d3Arc })(_, ind);\n }\n };\n}\n\nfunction animationHoverPie({ d, selector, duration, innerRadius, outerRadius }) {\n if (duration > 0) {\n transition()\n .selection()\n .select(selector)\n .transition()\n .duration(duration)\n .attrTween('d', function() {\n if (!d) return () => '';\n const [min, max] = outerRadius;\n const i = interpolate(min, max);\n return function(t) {\n const d3ArcOut = arc()\n .innerRadius(innerRadius)\n .outerRadius(i(t));\n return d3ArcOut(d);\n };\n });\n }\n}\n\nconst increaseFactor = 8;\n\nfunction getOuterRadius({ size, halfsize, outerRadius }) {\n const [width, height] = size;\n const minORmax = halfsize ? Math.max : Math.min;\n return outerRadius || minORmax(width - increaseFactor * 2, height - increaseFactor * 2) / 2;\n}\n\nclass DonutRoot extends Component {\n static displayName = 'Donut';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({\n innerRadius = 0,\n outerRadius,\n halfsize = false,\n $rootProps: { size },\n }) => {\n const d3Arc = arc()\n .outerRadius(getOuterRadius({ size, halfsize, outerRadius }))\n .innerRadius(innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius);\n let d3Pie = pie()\n .sort(null)\n .value(([, value]) => value);\n d3Pie[DEFAULT_INSTANCE] = true;\n\n if (halfsize) {\n d3Pie = d3Pie.startAngle(-Math.PI / 2).endAngle(Math.PI / 2);\n }\n return {\n d3Pie,\n d3Arc,\n duration: 500,\n };\n };\n\n get id() {\n const { uid, id } = this.asProps;\n return id || uid;\n }\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getArcs() {\n let { Children, data, d3Pie } = this.asProps;\n let pieData = Object.entries(data);\n\n if (d3Pie[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === Donut.Pie) {\n acc.push(child.props.dataKey);\n }\n return acc;\n }, []);\n pieData = Object.entries(data)\n .filter(([key]) => keys.includes(key))\n .sort(([a], [b]) => (keys.indexOf(a) > keys.indexOf(b) ? 1 : -1));\n }\n const minValue =\n pieData.reduce((acc, cur) => {\n if (cur[1]) acc += cur[1];\n return acc;\n }, 0) / 100;\n pieData = pieData.map((d) => {\n if (d[1] && d[1] < minValue) d[1] = minValue;\n return d;\n });\n return d3Pie(pieData);\n }\n\n bindHandlerTooltip = (visible, props) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n getPieProps(props) {\n let { d3Arc, duration, innerRadius } = this.asProps;\n innerRadius = innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius;\n const outerRadius = getOuterRadius(this.asProps);\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n\n return {\n data,\n d3Arc,\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n onMouseOver: (e) => {\n animationHoverPie({\n d: data,\n selector: `#${this.id} [d=\"${e.target.getAttribute('d')}\"]`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius, outerRadius + increaseFactor],\n });\n },\n onMouseOut: (e) => {\n animationHoverPie({\n d: data,\n selector: `#${this.id} [d=\"${e.target.getAttribute('d')}\"]`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius + increaseFactor, outerRadius],\n });\n },\n };\n }\n\n getEmptyDataProps() {\n const { d3Arc } = this.asProps;\n return {\n d3Arc,\n };\n }\n\n componentDidUpdate(prevProps) {\n const { data, duration, d3Arc, halfsize } = this.asProps;\n const arcs = this.arcs;\n if (prevProps.$rootProps.data !== data && duration > 0) {\n transition()\n .selection()\n .selectAll(`#${this.id} [data-ui-name=\"Donut.Pie\"]`)\n .transition()\n .duration(duration)\n .attrTween('d', animationUpdatePie({ d3Arc, arcs, halfsize }));\n }\n }\n\n componentDidMount() {\n const { duration, d3Arc, halfsize } = this.asProps;\n const arcs = this.arcs;\n if (duration > 0) {\n transition()\n .selection()\n .selectAll(`#${this.id} [data-ui-name=\"Donut.Pie\"]`)\n .each(function(_, ind) {\n this._current = arcs[ind];\n })\n .transition()\n .duration(duration)\n .attrTween('d', animationInitialPie({ halfsize, d3Arc, arcs }));\n }\n }\n\n render() {\n const { halfsize, size } = this.asProps;\n const [width, height] = size;\n const Element = this.Element;\n const k = halfsize ? 1 : 2;\n this.arcs = this.getArcs();\n return (\n <Element\n id={this.id}\n render=\"g\"\n childrenPosition=\"inside\"\n transform={`translate(${width / 2},${height / k})`}\n />\n );\n }\n}\n\nfunction Pie({ Element: SPie, styles, d3Arc, data, color }) {\n return sstyled(styles)(<SPie render=\"path\" color={color} d={d3Arc(data)} />);\n}\n\nfunction EmptyData({ Element: SEmptyData, styles, d3Arc, color }) {\n return sstyled(styles)(\n <SEmptyData render=\"path\" color={color} d={d3Arc({ endAngle: Math.PI * 2, startAngle: 0 })} />,\n );\n}\n\nfunction Label({ Element: SLabel, styles, Children }) {\n return sstyled(styles)(\n <SLabel render=\"text\" x=\"0\" y=\"0\">\n <Children />\n </SLabel>,\n );\n}\n\nconst Donut = createElement(DonutRoot, { Pie, Label, EmptyData });\n\nexport default Donut;\n"],"file":"Donut.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/Donut.js"],"names":["React","arc","pie","Component","sstyled","canUseDOM","getOriginChildren","CONSTANT","createElement","uniqueIDEnhancement","interpolate","transition","DEFAULT_INSTANCE","Symbol","animationInitialPie","halfsize","d3Arc","arcs","_","ind","d","iStart","Math","PI","startAngle","iEnd","endAngle","t","animationUpdatePie","_current","i","animationHoverPie","selector","duration","innerRadius","outerRadius","selection","select","attrTween","min","max","d3ArcOut","increaseFactor","getOuterRadius","size","width","height","minORmax","DonutRoot","document","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","uid","id","top","right","bottom","left","Children","data","d3Pie","pieData","Object","entries","keys","toArray","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","key","includes","sort","a","b","indexOf","minValue","cur","map","find","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","prevProps","$rootProps","selectAll","each","Element","k","getArcs","style","value","SPie","styles","color","EmptyData","SEmptyData","Label","SLabel"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { arc, pie } from 'd3-shape';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport { CONSTANT } from './utils';\nimport createElement from './createElement';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { interpolate } from 'd3-interpolate';\nimport { transition } from 'd3-transition';\n\nimport style from './style/donut.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\n\nfunction animationInitialPie({ halfsize, d3Arc, arcs }) {\n return function (_, ind) {\n const d = arcs[ind];\n if (!d) return () => '';\n const iStart = interpolate(halfsize ? -Math.PI / 2 : 0, d.startAngle);\n const iEnd = interpolate(halfsize ? -Math.PI / 2 : 0, d.endAngle);\n return function (t) {\n d.startAngle = iStart(t);\n d.endAngle = iEnd(t);\n return d3Arc(d);\n };\n };\n}\n\nfunction animationUpdatePie({ halfsize, arcs, d3Arc }) {\n return function (_, ind) {\n const d = arcs[ind];\n if (this._current) {\n const i = interpolate(this._current, d);\n this._current = i(0);\n return function (t) {\n return d3Arc(i(t));\n };\n } else {\n this._current = d;\n return animationInitialPie({ halfsize, arcs, d3Arc })(_, ind);\n }\n };\n}\n\nfunction animationHoverPie({ d, selector, duration, innerRadius, outerRadius }) {\n if (duration > 0) {\n transition()\n .selection()\n .select(selector)\n .transition()\n .duration(duration)\n .attrTween('d', function () {\n if (!d) return () => '';\n const [min, max] = outerRadius;\n const i = interpolate(min, max);\n return function (t) {\n const d3ArcOut = arc().innerRadius(innerRadius).outerRadius(i(t));\n return d3ArcOut(d);\n };\n });\n }\n}\n\nconst increaseFactor = 8;\n\nfunction getOuterRadius({ size, halfsize, outerRadius }) {\n const [width, height] = size;\n const minORmax = halfsize ? Math.max : Math.min;\n return outerRadius || minORmax(width - increaseFactor * 2, height - increaseFactor * 2) / 2;\n}\n\nclass DonutRoot extends Component {\n static displayName = 'Donut';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({\n innerRadius = 0,\n outerRadius,\n halfsize = false,\n $rootProps: { size },\n }) => {\n const d3Arc = arc()\n .outerRadius(getOuterRadius({ size, halfsize, outerRadius }))\n .innerRadius(innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius);\n let d3Pie = pie()\n .sort(null)\n .value(([, value]) => value);\n d3Pie[DEFAULT_INSTANCE] = true;\n\n if (halfsize) {\n d3Pie = d3Pie.startAngle(-Math.PI / 2).endAngle(Math.PI / 2);\n }\n return {\n d3Pie,\n d3Arc,\n duration: 500,\n };\n };\n\n get id() {\n const { uid, id } = this.asProps;\n return id || uid;\n }\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getArcs() {\n let { Children, data, d3Pie } = this.asProps;\n let pieData = Object.entries(data);\n\n if (d3Pie[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === Donut.Pie) {\n acc.push(child.props.dataKey);\n }\n return acc;\n }, []);\n pieData = Object.entries(data)\n .filter(([key]) => keys.includes(key))\n .sort(([a], [b]) => (keys.indexOf(a) > keys.indexOf(b) ? 1 : -1));\n }\n const minValue =\n pieData.reduce((acc, cur) => {\n if (cur[1]) acc += cur[1];\n return acc;\n }, 0) / 100;\n pieData = pieData.map((d) => {\n if (d[1] && d[1] < minValue) d[1] = minValue;\n return d;\n });\n return d3Pie(pieData);\n }\n\n bindHandlerTooltip = (visible, props) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n getPieProps(props) {\n let { d3Arc, duration, innerRadius } = this.asProps;\n innerRadius = innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius;\n const outerRadius = getOuterRadius(this.asProps);\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n\n return {\n data,\n d3Arc,\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n onMouseOver: (e) => {\n animationHoverPie({\n d: data,\n selector: `#${this.id} [d=\"${e.target.getAttribute('d')}\"]`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius, outerRadius + increaseFactor],\n });\n },\n onMouseOut: (e) => {\n animationHoverPie({\n d: data,\n selector: `#${this.id} [d=\"${e.target.getAttribute('d')}\"]`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius + increaseFactor, outerRadius],\n });\n },\n };\n }\n\n getEmptyDataProps() {\n const { d3Arc } = this.asProps;\n return {\n d3Arc,\n };\n }\n\n componentDidUpdate(prevProps) {\n const { data, duration, d3Arc, halfsize } = this.asProps;\n const arcs = this.arcs;\n if (prevProps.$rootProps.data !== data && duration > 0) {\n transition()\n .selection()\n .selectAll(`#${this.id} [data-ui-name=\"Donut.Pie\"]`)\n .transition()\n .duration(duration)\n .attrTween('d', animationUpdatePie({ d3Arc, arcs, halfsize }));\n }\n }\n\n componentDidMount() {\n const { duration, d3Arc, halfsize } = this.asProps;\n const arcs = this.arcs;\n if (duration > 0) {\n transition()\n .selection()\n .selectAll(`#${this.id} [data-ui-name=\"Donut.Pie\"]`)\n .each(function (_, ind) {\n this._current = arcs[ind];\n })\n .transition()\n .duration(duration)\n .attrTween('d', animationInitialPie({ halfsize, d3Arc, arcs }));\n }\n }\n\n render() {\n const { halfsize, size } = this.asProps;\n const [width, height] = size;\n const Element = this.Element;\n const k = halfsize ? 1 : 2;\n this.arcs = this.getArcs();\n return (\n <Element\n id={this.id}\n render=\"g\"\n childrenPosition=\"inside\"\n transform={`translate(${width / 2},${height / k})`}\n />\n );\n }\n}\n\nfunction Pie({ Element: SPie, styles, d3Arc, data, color }) {\n return sstyled(styles)(<SPie render=\"path\" color={color} d={d3Arc(data)} />);\n}\n\nfunction EmptyData({ Element: SEmptyData, styles, d3Arc, color }) {\n return sstyled(styles)(\n <SEmptyData render=\"path\" color={color} d={d3Arc({ endAngle: Math.PI * 2, startAngle: 0 })} />,\n );\n}\n\nfunction Label({ Element: SLabel, styles, Children }) {\n return sstyled(styles)(\n <SLabel render=\"text\" x=\"0\" y=\"0\">\n <Children />\n </SLabel>,\n );\n}\n\nconst Donut = createElement(DonutRoot, { Pie, Label, EmptyData });\n\nexport default Donut;\n"],"file":"Donut.js"}
|
package/lib/es6/Dots.js
CHANGED
|
@@ -14,17 +14,17 @@ var style = (
|
|
|
14
14
|
/*__reshadow_css_start__*/
|
|
15
15
|
_sstyled.insert(
|
|
16
16
|
/*__inner_css_start__*/
|
|
17
|
-
".
|
|
17
|
+
".___SDot_kolmf_gg_{stroke-width:2px;stroke:#fff;r:6px;fill:#50aef4;transition-property:cx,cy;transition-duration:var(--duration_1mcd7jn);transition-timing-function:ease-in-out}.___SDot_kolmf_gg_.__color_kolmf_gg_{fill:var(--color_1mcd7jn)}.___SDot_kolmf_gg_.__hide_kolmf_gg_{display:none}.___SDot_kolmf_gg_.__active_kolmf_gg_{r:8px}"
|
|
18
18
|
/*__inner_css_end__*/
|
|
19
19
|
, "1mcd7jn_gg_")
|
|
20
20
|
/*__reshadow_css_end__*/
|
|
21
21
|
, {
|
|
22
|
-
"__SDot": "
|
|
22
|
+
"__SDot": "___SDot_kolmf_gg_",
|
|
23
23
|
"--duration": "--duration_1mcd7jn",
|
|
24
|
-
"_color": "
|
|
24
|
+
"_color": "__color_kolmf_gg_",
|
|
25
25
|
"--color": "--color_1mcd7jn",
|
|
26
|
-
"_hide": "
|
|
27
|
-
"_active": "
|
|
26
|
+
"_hide": "__hide_kolmf_gg_",
|
|
27
|
+
"_active": "__active_kolmf_gg_"
|
|
28
28
|
});
|
|
29
29
|
|
|
30
30
|
function Dots(props) {
|
package/lib/es6/Dots.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Dots.js"],"names":["bisector","React","useCallback","useEffect","useState","sstyled","eventToPoint","invert","createElement","FadeInOut","trottle","Dots","props","SDot","Element","styles","data","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","duration","bisect","d","center","activeIndex","setActiveIndex","handlerMouseMoveRoot","e","xScale","current","pX","vX","handlerMouseLeaveRoot","unsubscribeMouseMoveRoot","subscribe","persist","unsubscribeMouseLeaveRoot","renderCircle","forwardRef","ref","reduce","acc","i","isPrev","defined","isNext","active","push","style"],"mappings":";;;AAAA,SAASA,QAAT,QAAyB,UAAzB;AACA,OAAOC,KAAP,IAAgBC,WAAhB,EAA6BC,SAA7B,EAAwCC,QAAxC,QAAwD,OAAxD;AACA,SAASC,OAAT,QAAwB,eAAxB;AACA,SAASC,YAAT,EAAuBC,MAAvB,QAAqC,SAArC;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,SAASC,SAAT,QAA0B,oBAA1B;AACA,OAAOC,OAAP,MAAoB,+BAApB;;;;;;;;;;;;;;;;;;;;AAIA,SAASC,IAAT,CAAcC,KAAd,EAAqB;
|
|
1
|
+
{"version":3,"sources":["../../src/Dots.js"],"names":["bisector","React","useCallback","useEffect","useState","sstyled","eventToPoint","invert","createElement","FadeInOut","trottle","Dots","props","SDot","Element","styles","data","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","duration","bisect","d","center","activeIndex","setActiveIndex","handlerMouseMoveRoot","e","xScale","current","pX","vX","handlerMouseLeaveRoot","unsubscribeMouseMoveRoot","subscribe","persist","unsubscribeMouseLeaveRoot","renderCircle","forwardRef","ref","reduce","acc","i","isPrev","defined","isNext","active","push","style"],"mappings":"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","sourcesContent":["import { bisector } from 'd3-array';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { sstyled } from '@semcore/core';\nimport { eventToPoint, invert } from './utils';\nimport createElement from './createElement';\nimport { FadeInOut } from '@semcore/animation';\nimport trottle from '@semcore/utils/lib/rafTrottle';\n\nimport style from './style/dot.shadow.css';\n\nfunction Dots(props) {\n const {\n Element: SDot,\n styles,\n data,\n color,\n d3,\n x,\n y,\n eventEmitter,\n display,\n hide,\n rootRef,\n scale,\n duration = 500,\n } = props;\n const bisect = bisector((d) => d[x]).center;\n const [activeIndex, setActiveIndex] = useState(null);\n\n const handlerMouseMoveRoot = useCallback(\n trottle((e) => {\n const [xScale] = scale;\n const [pX] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n setActiveIndex(bisect(data, vX));\n }),\n [scale, data],\n );\n\n const handlerMouseLeaveRoot = useCallback(\n trottle(() => {\n setActiveIndex(null);\n }),\n [],\n );\n\n useEffect(() => {\n const unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', (e) => {\n e.persist();\n handlerMouseMoveRoot(e);\n });\n\n const unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\n handlerMouseLeaveRoot,\n );\n\n return () => {\n unsubscribeMouseMoveRoot();\n unsubscribeMouseLeaveRoot();\n };\n }, [eventEmitter, data, x, y]);\n\n const renderCircle = useCallback(\n React.forwardRef((props, ref) => {\n return <FadeInOut ref={ref} tag=\"circle\" {...props} />;\n }),\n [props],\n );\n\n return data.reduce((acc, d, i) => {\n const isPrev = d3.defined()(data[i - 1] || {});\n const isNext = d3.defined()(data[i + 1] || {});\n const active = i === activeIndex;\n if (!d3.defined()(d)) return acc;\n acc.push(\n sstyled(styles)(\n <SDot\n key={i}\n render={renderCircle}\n visible={display || i === activeIndex || (!isPrev && !isNext)}\n __excludeProps={['data', 'scale', 'value', 'display']}\n value={d}\n index={i}\n cx={d3.x()(d)}\n cy={d3.y()(d)}\n active={active}\n hide={hide}\n color={color}\n use:duration={`${duration}ms`}\n />,\n ),\n );\n return acc;\n }, []);\n}\n\nDots.style = style;\n\nexport default createElement(Dots);\n"],"file":"Dots.js"}
|
package/lib/es6/GroupBar.js
CHANGED
|
@@ -22,15 +22,15 @@ var _ref = (
|
|
|
22
22
|
/*__reshadow_css_start__*/
|
|
23
23
|
__css__(
|
|
24
24
|
/*__inner_css_start__*/
|
|
25
|
-
".
|
|
25
|
+
".___SBar_fvhup_gg_{fill:#50aef4;transition-property:height,width,y;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SBar_fvhup_gg_.__color_fvhup_gg_{fill:var(--color)}.___SBar_fvhup_gg_.__hide_fvhup_gg_{display:none}.___SBackground_fvhup_gg_{fill:#e4ecf1}"
|
|
26
26
|
/*__inner_css_end__*/
|
|
27
|
-
, "
|
|
27
|
+
, "1o88auu_gg_")
|
|
28
28
|
/*__reshadow_css_end__*/
|
|
29
29
|
, {
|
|
30
|
-
"__SBar": "
|
|
31
|
-
"_color": "
|
|
32
|
-
"_hide": "
|
|
33
|
-
"__SBackground": "
|
|
30
|
+
"__SBar": "___SBar_fvhup_gg_",
|
|
31
|
+
"_color": "__color_fvhup_gg_",
|
|
32
|
+
"_hide": "__hide_fvhup_gg_",
|
|
33
|
+
"__SBackground": "___SBackground_fvhup_gg_"
|
|
34
34
|
}),
|
|
35
35
|
style = _extends({}, _ref);
|
|
36
36
|
|
package/lib/es6/GroupBar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/GroupBar.js"],"names":["React","Component","getOriginChildren","createElement","Bar","HorizontalBar","GroupBarRoot","asProps","Children","scale","scaleGroup","x","xyScale","domain","toArray","reduce","acc","child","isValidElement","type","GroupBar","props","hide","push","y","copy","range","bandwidth","paddingInner","paddingOuter","offset","width","height","Element","getScaleGroup","style"],"mappings":";;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT,sBAA0B,eAA1B;AACA,OAAOC,iBAAP,MAA8B,sCAA9B;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,GAAP,MAAgB,OAAhB;AACA,OAAOC,aAAP,MAA0B,iBAA1B;;;;;;;;;;;;;;;;;;;IAIMC,Y;;;;;;;;;;;;;WAKJ,yBAAgB;
|
|
1
|
+
{"version":3,"sources":["../../src/GroupBar.js"],"names":["React","Component","getOriginChildren","createElement","Bar","HorizontalBar","GroupBarRoot","asProps","Children","scale","scaleGroup","x","xyScale","domain","toArray","reduce","acc","child","isValidElement","type","GroupBar","props","hide","push","y","copy","range","bandwidth","paddingInner","paddingOuter","offset","width","height","Element","getScaleGroup","style"],"mappings":"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","sourcesContent":["import React from 'react';\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\nclass GroupBarRoot extends Component {\n static displayName = 'GroupBar';\n\n static style = style;\n\n getScaleGroup() {\n const { Children, scale, scaleGroup, x } = this.asProps;\n // TODO: классный костыль =)\n const xyScale = x ? scale[0] : scale[1];\n\n if (scaleGroup) return scaleGroup;\n\n const domain = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === GroupBar.Bar && !child.props.hide) {\n acc.push(child.props.y);\n }\n if (\n React.isValidElement(child) &&\n child.type === GroupBar.HorizontalBar &&\n !child.props.hide\n ) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n\n return xyScale\n .copy()\n .range([0, xyScale.bandwidth()])\n .domain(domain)\n .paddingInner(xyScale.paddingOuter())\n .paddingOuter(0);\n }\n\n getBarProps({ y }) {\n const { x } = this.asProps;\n\n return {\n offset: [this.scaleGroup(y), 0],\n width: this.scaleGroup.bandwidth(),\n x,\n };\n }\n\n getHorizontalBarProps({ x }) {\n const { y } = this.asProps;\n\n return {\n offset: [0, this.scaleGroup(x)],\n height: this.scaleGroup.bandwidth(),\n y,\n };\n }\n\n render() {\n const Element = this.Element;\n this.scaleGroup = this.getScaleGroup();\n return <Element render=\"g\" childrenPosition=\"inside\" scaleGroup={this.scaleGroup} />;\n }\n}\n\nconst GroupBar = createElement(GroupBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default GroupBar;\n"],"file":"GroupBar.js"}
|
package/lib/es6/HorizontalBar.js
CHANGED
|
@@ -23,17 +23,17 @@ var style = (
|
|
|
23
23
|
/*__reshadow_css_start__*/
|
|
24
24
|
_sstyled.insert(
|
|
25
25
|
/*__inner_css_start__*/
|
|
26
|
-
".
|
|
26
|
+
".___SBar_1p4r4_gg_{fill:#50aef4;transition-property:height,width,y;transition-duration:var(--duration_6qtpvs);transition-timing-function:ease-in-out}.___SBar_1p4r4_gg_.__color_1p4r4_gg_{fill:var(--color_6qtpvs)}.___SBar_1p4r4_gg_.__hide_1p4r4_gg_{display:none}.___SBackground_1p4r4_gg_{fill:#e4ecf1}"
|
|
27
27
|
/*__inner_css_end__*/
|
|
28
28
|
, "6qtpvs_gg_")
|
|
29
29
|
/*__reshadow_css_end__*/
|
|
30
30
|
, {
|
|
31
|
-
"__SBar": "
|
|
31
|
+
"__SBar": "___SBar_1p4r4_gg_",
|
|
32
32
|
"--duration": "--duration_6qtpvs",
|
|
33
|
-
"_color": "
|
|
33
|
+
"_color": "__color_1p4r4_gg_",
|
|
34
34
|
"--color": "--color_6qtpvs",
|
|
35
|
-
"_hide": "
|
|
36
|
-
"__SBackground": "
|
|
35
|
+
"_hide": "__hide_1p4r4_gg_",
|
|
36
|
+
"__SBackground": "___SBackground_1p4r4_gg_"
|
|
37
37
|
});
|
|
38
38
|
|
|
39
39
|
var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/HorizontalBar.js"],"names":["React","Component","sstyled","uniqueIDEnhancement","createElement","ClipPath","getBandwidth","roundedPath","HorizontalBarRoot","props","index","asProps","data","y","value","d","i","SBar","Element","styles","color","x","x0","scale","hide","offset","uid","duration","r","heightProps","height","onMouseMove","onMouseLeave","xScale","yScale","barY","barX","Math","min","width","abs","max","domain","dSvg","getHorizontalRect","radius","Array","isArray","position","size","map","renderBar","bind","rect","setAttribute","style","Background","SBackground","xRange","range","bandwidth"],"mappings":";;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT,EAAoBC,OAApB,QAAmC,eAAnC;AACA,OAAOC,mBAAP,MAAgC,6BAAhC;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,QAAP,MAAqB,YAArB;AACA,SAASC,YAAT,EAAuBC,WAAvB,QAA0C,SAA1C;;;;;;;;;;;;;;;;;;;;IAIMC,iB;;;;;;;;;;;;;WAWJ,4BAAmBC,KAAnB,EAA0BC,KAA1B,EAAiC;
|
|
1
|
+
{"version":3,"sources":["../../src/HorizontalBar.js"],"names":["React","Component","sstyled","uniqueIDEnhancement","createElement","ClipPath","getBandwidth","roundedPath","HorizontalBarRoot","props","index","asProps","data","y","value","d","i","SBar","Element","styles","color","x","x0","scale","hide","offset","uid","duration","r","heightProps","height","onMouseMove","onMouseLeave","xScale","yScale","barY","barX","Math","min","width","abs","max","domain","dSvg","getHorizontalRect","radius","Array","isArray","position","size","map","renderBar","bind","rect","setAttribute","style","Background","SBackground","xRange","range","bandwidth"],"mappings":"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","sourcesContent":["import React from 'react';\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 HorizontalBarRoot extends Component {\n static displayName = 'HorizontalBar';\n static enhance = [uniqueIDEnhancement()];\n static style = style;\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n r: 2,\n };\n\n getBackgroundProps(props, index) {\n const { data, y } = this.asProps;\n return {\n value: data[index][y],\n };\n }\n\n renderBar(d, i) {\n const SBar = this.Element;\n const {\n styles,\n color,\n x,\n x0,\n y,\n scale,\n hide,\n offset,\n uid,\n duration,\n r,\n height: heightProps,\n onMouseMove,\n onMouseLeave,\n } = this.asProps;\n\n const [xScale, yScale] = scale;\n const barY = yScale(d[y]) + offset[1];\n const barX = xScale(Math.min(d[x0] ?? 0, d[x])) + offset[0];\n const height = heightProps || getBandwidth(yScale);\n const width = Math.abs(xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[x0] ?? 0)));\n const dSvg = getHorizontalRect({\n x: barX,\n y: barY,\n width,\n height,\n radius: Array.isArray(r) ? r[i] : r,\n position: d[x] > 0 ? 'right' : 'left',\n });\n\n return sstyled(styles)(\n <SBar\n key={`horizontal-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 onMouseMove={onMouseMove}\n onMouseLeave={onMouseLeave}\n />,\n );\n }\n\n render() {\n const { data, uid, size, duration } = this.asProps;\n\n return (\n <>\n {data.map(this.renderBar.bind(this))}\n {duration && (\n <ClipPath\n setAttributeTag={(rect) => {\n rect.setAttribute('width', size[0]);\n }}\n id={uid}\n x=\"0\"\n y=\"0\"\n width={0}\n height={size[1]}\n transition={`width ${duration}ms ease-in-out`}\n />\n )}\n </>\n );\n }\n}\n\nfunction Background(props) {\n const { Element: SBackground, styles, scale, value } = props;\n const [xScale, yScale] = scale;\n const xRange = xScale.range();\n\n return sstyled(styles)(\n <SBackground\n render=\"rect\"\n childrenPosition=\"above\"\n width={xRange[1] - xRange[0]}\n height={yScale.bandwidth()}\n x={xRange[0]}\n y={yScale(value)}\n />,\n );\n}\n\nfunction getHorizontalRect({ x, y, width, height, radius, position }) {\n if (width <= radius) return '';\n if (radius) {\n if (position === 'right')\n return roundedPath(x, y, width, height, radius, false, true, false, true);\n return roundedPath(x, y, width, height, radius, true, false, true, false);\n }\n return roundedPath(x, y, width, height, radius);\n}\n\nexport default createElement(HorizontalBarRoot, { Background });\n"],"file":"HorizontalBar.js"}
|
package/lib/es6/Hover.js
CHANGED
|
@@ -24,13 +24,13 @@ var style = (
|
|
|
24
24
|
/*__reshadow_css_start__*/
|
|
25
25
|
_sstyled.insert(
|
|
26
26
|
/*__inner_css_start__*/
|
|
27
|
-
".
|
|
27
|
+
".___SHoverLine_1gg7i_gg_{stroke:#a6b0b3}.___SHoverRect_1gg7i_gg_{fill:rgba(152,170,175,.3)}"
|
|
28
28
|
/*__inner_css_end__*/
|
|
29
29
|
, "1tjsi7e_gg_")
|
|
30
30
|
/*__reshadow_css_end__*/
|
|
31
31
|
, {
|
|
32
|
-
"__SHoverLine": "
|
|
33
|
-
"__SHoverRect": "
|
|
32
|
+
"__SHoverLine": "___SHoverLine_1gg7i_gg_",
|
|
33
|
+
"__SHoverRect": "___SHoverRect_1gg7i_gg_"
|
|
34
34
|
});
|
|
35
35
|
|
|
36
36
|
var Hover = /*#__PURE__*/function (_Component) {
|
package/lib/es6/Hover.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Hover.js"],"names":["React","Component","sstyled","createElement","canUseDOM","scaleOfBandwidth","getIndexFromData","eventToPoint","invert","CONSTANT","trottle","Hover","xIndex","yIndex","document","e","asProps","eventEmitter","data","scale","x","y","rootRef","clientX","clientY","xScale","yScale","current","pX","pY","vX","vY","undefined","state","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","setState","emit","width","height","top","right","bottom","left","unsubscribeMouseMoveRoot","subscribe","persist","handlerMouseMoveRoot","unsubscribeMouseLeaveRoot","handlerMouseLeaveRoot","style","HoverLineRoot","SHoverLine","Element","styles","xRange","range","yRange","x1","y1","HoverRectRoot","SHoverRect","step","paddingInner","HoverLine","HoverRect"],"mappings":";;;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT,EAAoBC,OAApB,QAAmC,eAAnC;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,SAAP,MAAsB,8BAAtB;AACA,SAASC,gBAAT,EAA2BC,gBAA3B,EAA6CC,YAA7C,EAA2DC,MAA3D,EAAmEC,QAAnE,QAAmF,SAAnF;AACA,OAAOC,OAAP,MAAoB,+BAApB;;;;;;;;;;;;;;;;IAIMC,K;;;;;;;;;;;;;;;;4DAGI;AACNC,MAAAA,MAAM,EAAE,IADF;AAENC,MAAAA,MAAM,EAAE;AAFF,K;;qEAKST,SAAS,KAAKU,QAAQ,CAACX,aAAT,CAAuB,KAAvB,CAAL,GAAqC,E;;2EAMxCO,OAAO,CAAC,UAACK,CAAD,EAAO;AAAA,0BACiB,MAAKC,OADtB;AAAA,UAC5BC,YAD4B,iBAC5BA,YAD4B;AAAA,UACdC,IADc,iBACdA,IADc;AAAA,UACRC,KADQ,iBACRA,KADQ;AAAA,UACDC,CADC,iBACDA,CADC;AAAA,UACEC,CADF,iBACEA,CADF;AAAA,UACKC,OADL,iBACKA,OADL;AAAA,UAE5BC,OAF4B,GAEPR,CAFO,CAE5BQ,OAF4B;AAAA,UAEnBC,OAFmB,GAEPT,CAFO,CAEnBS,OAFmB;;AAAA,kCAGXL,KAHW;AAAA,UAG7BM,MAH6B;AAAA,UAGrBC,MAHqB;;AAAA,0BAInBnB,YAAY,CAACQ,CAAD,EAAIO,OAAO,CAACK,OAAZ,CAJO;AAAA;AAAA,UAI7BC,EAJ6B;AAAA,UAIzBC,EAJyB;;AAKpC,UAAMC,EAAE,GAAGtB,MAAM,CAACiB,MAAD,EAASG,EAAT,CAAjB;AACA,UAAMG,EAAE,GAAGvB,MAAM,CAACkB,MAAD,EAASG,EAAT,CAAjB;AACA,UAAMjB,MAAM,GACVQ,CAAC,KAAKY,SAAN,IAAmBF,EAAE,KAAKE,SAA1B,GAAsC,IAAtC,GAA6C1B,gBAAgB,CAACY,IAAD,EAAOO,MAAP,EAAeL,CAAf,EAAkBU,EAAlB,CAD/D;AAEA,UAAMjB,MAAM,GACVQ,CAAC,KAAKW,SAAN,IAAmBD,EAAE,KAAKC,SAA1B,GAAsC,IAAtC,GAA6C1B,gBAAgB,CAACY,IAAD,EAAOQ,MAAP,EAAeL,CAAf,EAAkBU,EAAlB,CAD/D;AAEA,UAAME,KAAK,GAAG;AAAErB,QAAAA,MAAM,EAANA,MAAF;AAAUC,QAAAA,MAAM,EAANA;AAAV,OAAd;AACA,YAAKqB,cAAL,CAAoBC,qBAApB,GAA4C,MAAKC,6BAAL,CAC1Cb,OAD0C,EAE1CC,OAF0C,CAA5C;AAIA,YAAKU,cAAL,CAAoBzB,QAAQ,CAAC4B,eAA7B,IAAgD,IAAhD;;AAEA,YAAKC,QAAL,CAAcL,KAAd,EAAqB,YAAM;AACzBhB,QAAAA,YAAY,CAACsB,IAAb,CACE,kBADF,EAEE3B,MAAM,KAAK,IAAX,IAAmBC,MAAM,KAAK,IAFhC,EAGEoB,KAHF,EAIE,MAAKC,cAJP;AAMD,OAPD;AAQD,KA1B6B,C;;4EA4BNxB,OAAO,CAAC,YAAM;AACpC,UAAMuB,KAAK,GAAG;AACZrB,QAAAA,MAAM,EAAE,IADI;AAEZC,QAAAA,MAAM,EAAE;AAFI,OAAd;;AAIA,YAAKyB,QAAL,CAAcL,KAAd,EAAqB,YAAM;AACzB,cAAKjB,OAAL,CAAaC,YAAb,CAA0BsB,IAA1B,CAA+B,kBAA/B,EAAmD,KAAnD,EAA0DN,KAA1D;AACD,OAFD;AAGD,KAR8B,C;;;;;;;WAhC/B,yCAA4C;AAAA,UAAdb,CAAc,uEAAV,CAAU;AAAA,UAAPC,CAAO,uEAAH,CAAG;AAC1C,aAAO;AAAA,eAAO;AAAEmB,UAAAA,KAAK,EAAE,CAAT;AAAYC,UAAAA,MAAM,EAAE,CAApB;AAAuBC,UAAAA,GAAG,EAAErB,CAA5B;AAA+BsB,UAAAA,KAAK,EAAEvB,CAAtC;AAAyCwB,UAAAA,MAAM,EAAEvB,CAAjD;AAAoDwB,UAAAA,IAAI,EAAEzB;AAA1D,SAAP;AAAA,OAAP;AACD;;;WAwCD,6BAAoB;AAAA;;AAAA,UACVH,YADU,GACO,KAAKD,OADZ,CACVC,YADU;AAElB,WAAK6B,wBAAL,GAAgC7B,YAAY,CAAC8B,SAAb,CAAuB,kBAAvB,EAA2C,UAAChC,CAAD,EAAO;AAChFA,QAAAA,CAAC,CAACiC,OAAF;;AACA,QAAA,MAAI,CAACC,oBAAL,CAA0BlC,CAA1B;AACD,OAH+B,CAAhC;AAIA,WAAKmC,yBAAL,GAAiCjC,YAAY,CAAC8B,SAAb,CAC/B,mBAD+B,EAE/B,KAAKI,qBAF0B,CAAjC;AAID;;;WAED,gCAAuB;AACrB,UAAI,KAAKL,wBAAT,EAAmC;AACjC,aAAKA,wBAAL;AACD;;AACD,UAAI,KAAKI,yBAAT,EAAoC;AAClC,aAAKA,yBAAL;AACD;AACF;;;;EAvEiBjD,S;;gBAAdU,K,WACWyC,K;;IAyEXC,a;;;;;;;;;;;;;WAGJ,kBAAS;AAAA;;AACP,UAAMC,UAAU,GAAG,KAAKC,OAAxB;AADO,2BAE+B,KAAKvC,OAFpC;AAAA,UAECwC,MAFD,kBAECA,MAFD;AAAA,UAESpC,CAFT,kBAESA,CAFT;AAAA,UAEYC,CAFZ,kBAEYA,CAFZ;AAAA,UAEeH,IAFf,kBAEeA,IAFf;AAAA,UAEqBC,KAFrB,kBAEqBA,KAFrB;AAAA,wBAGoB,KAAKc,KAHzB;AAAA,UAGCrB,MAHD,eAGCA,MAHD;AAAA,UAGSC,MAHT,eAGSA,MAHT;;AAAA,mCAIkBM,KAJlB;AAAA,UAIAM,MAJA;AAAA,UAIQC,MAJR;;AAMP,UAAM+B,MAAM,GAAGhC,MAAM,CAACiC,KAAP,EAAf;AACA,UAAMC,MAAM,GAAGjC,MAAM,CAACgC,KAAP,EAAf;AACA,UAAME,EAAE,GAAGhD,MAAM,KAAK,IAAX,GAAkBP,gBAAgB,CAACoB,MAAD,EAASP,IAAI,CAACN,MAAD,CAAJ,CAAaQ,CAAb,CAAT,CAAlC,GAA8DY,SAAzE;AACA,UAAM6B,EAAE,GAAGhD,MAAM,KAAK,IAAX,GAAkBR,gBAAgB,CAACqB,MAAD,EAASR,IAAI,CAACL,MAAD,CAAJ,CAAaQ,CAAb,CAAT,CAAlC,GAA8DW,SAAzE;AAEA,oBAAO9B,OAAO,CAACsD,MAAD,CAAd,eACE,0CACG5C,MAAM,KAAK,IAAX,gBACC,oBAAC,UAAD;AAAA,kBAAmB,MAAnB;AAAA,iBAAiCA,MAAjC;AAAA,cAA6CgD,EAA7C;AAAA,cAAqDD,MAAM,CAAC,CAAD,CAA3D;AAAA,cAAoEC,EAApE;AAAA,cAA4ED,MAAM,CAAC,CAAD;AAAlF,SADD,GAEG,IAHN,EAIG9C,MAAM,KAAK,IAAX,gBACC,oBAAC,UAAD;AAAA,kBAAmB,MAAnB;AAAA,iBAAiCA,MAAjC;AAAA,cAA6C4C,MAAM,CAAC,CAAD,CAAnD;AAAA,cAA4DI,EAA5D;AAAA,cAAoEJ,MAAM,CAAC,CAAD,CAA1E;AAAA,cAAmFI;AAAnF,SADD,GAEG,IANN,CADF;AAUD;;;;EAxByBlD,K;;gBAAtB0C,a,iBACiB,W;;IA0BjBS,a;;;;;;;;;;;;;WAGJ,kBAAS;AAAA;;AACP,UAAMC,UAAU,GAAG,KAAKR,OAAxB;AADO,2BAE+B,KAAKvC,OAFpC;AAAA,UAECwC,MAFD,kBAECA,MAFD;AAAA,UAESpC,CAFT,kBAESA,CAFT;AAAA,UAEYC,CAFZ,kBAEYA,CAFZ;AAAA,UAEeH,IAFf,kBAEeA,IAFf;AAAA,UAEqBC,KAFrB,kBAEqBA,KAFrB;AAAA,yBAGoB,KAAKc,KAHzB;AAAA,UAGCrB,MAHD,gBAGCA,MAHD;AAAA,UAGSC,MAHT,gBAGSA,MAHT;;AAAA,mCAIkBM,KAJlB;AAAA,UAIAM,MAJA;AAAA,UAIQC,MAJR;;AAMP,UAAM+B,MAAM,GAAGhC,MAAM,CAACiC,KAAP,EAAf;AACA,UAAMC,MAAM,GAAGjC,MAAM,CAACgC,KAAP,EAAf;AAEA,qBAAOxD,OAAO,CAACsD,MAAD,CAAd,eACE,0CACG5C,MAAM,KAAK,IAAX,gBACC,oBAAC,UAAD;AAAA,kBACS,MADT;AAAA,iBAESA,MAFT;AAAA,iBAGSa,MAAM,CAACuC,IAAP,KAAgBvC,MAAM,CAACwC,YAAP,KAAwB,CAHjD;AAAA,kBAIUN,MAAM,CAAC,CAAD,CAAN,GAAYA,MAAM,CAAC,CAAD,CAJ5B;AAAA,aAKKlC,MAAM,CAACP,IAAI,CAACN,MAAD,CAAJ,CAAaQ,CAAb,CAAD,CAAN,GAA2BK,MAAM,CAACuC,IAAP,KAAgBvC,MAAM,CAACwC,YAAP,EAAjB,GAA0C,CALzE;AAAA,aAMKN,MAAM,CAAC,CAAD;AANX,SADD,GASG,IAVN,EAWG9C,MAAM,KAAK,IAAX,gBACC,oBAAC,UAAD;AAAA,kBACS,MADT;AAAA,iBAESA,MAFT;AAAA,iBAGS4C,MAAM,CAAC,CAAD,CAAN,GAAYA,MAAM,CAAC,CAAD,CAH3B;AAAA,kBAIU/B,MAAM,CAACsC,IAAP,KAAgBtC,MAAM,CAACuC,YAAP,KAAwB,CAJlD;AAAA,aAKKR,MAAM,CAAC,CAAD,CALX;AAAA,aAMK/B,MAAM,CAACR,IAAI,CAACL,MAAD,CAAJ,CAAaQ,CAAb,CAAD,CAAN,GAA2BK,MAAM,CAACsC,IAAP,KAAgBtC,MAAM,CAACuC,YAAP,EAAjB,GAA0C;AANzE,SADD,GASG,IApBN,CADF;AAwBD;;;;EApCyBtD,K;;gBAAtBmD,a,iBACiB,W;;AAsCvB,IAAMI,SAAS,GAAG/D,aAAa,CAACkD,aAAD,CAA/B;AACA,IAAMc,SAAS,GAAGhE,aAAa,CAAC2D,aAAD,CAA/B;AAEA,SAASI,SAAT,EAAoBC,SAApB","sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { scaleOfBandwidth, getIndexFromData, eventToPoint, invert, CONSTANT } from './utils';\nimport trottle from '@semcore/utils/lib/rafTrottle';\n\nimport style from './style/hover.shadow.css';\n\nclass Hover extends Component {\n static style = style;\n\n state = {\n xIndex: null,\n yIndex: null,\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 handlerMouseMoveRoot = trottle((e) => {\n const { eventEmitter, data, scale, x, y, rootRef } = this.asProps;\n const { clientX, clientY } = e;\n const [xScale, yScale] = scale;\n const [pX, pY] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n const vY = invert(yScale, pY);\n const xIndex =\n x === undefined || vX === undefined ? null : getIndexFromData(data, xScale, x, vX);\n const yIndex =\n y === undefined || vY === undefined ? null : getIndexFromData(data, yScale, y, vY);\n const state = { xIndex, yIndex };\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(\n clientX,\n clientY,\n );\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n\n this.setState(state, () => {\n eventEmitter.emit(\n 'onTooltipVisible',\n xIndex !== null || yIndex !== null,\n state,\n this.virtualElement,\n );\n });\n });\n\n handlerMouseLeaveRoot = trottle(() => {\n const state = {\n xIndex: null,\n yIndex: null,\n };\n this.setState(state, () => {\n this.asProps.eventEmitter.emit('onTooltipVisible', false, state);\n });\n });\n\n componentDidMount() {\n const { eventEmitter } = this.asProps;\n this.unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', (e) => {\n e.persist();\n this.handlerMouseMoveRoot(e);\n });\n this.unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\n this.handlerMouseLeaveRoot,\n );\n }\n\n componentWillUnmount() {\n if (this.unsubscribeMouseMoveRoot) {\n this.unsubscribeMouseMoveRoot();\n }\n if (this.unsubscribeMouseLeaveRoot) {\n this.unsubscribeMouseLeaveRoot();\n }\n }\n}\n\nclass HoverLineRoot extends Hover {\n static displayName = 'HoverLine';\n\n render() {\n const SHoverLine = this.Element;\n const { styles, x, y, data, scale } = this.asProps;\n const { xIndex, yIndex } = this.state;\n const [xScale, yScale] = scale;\n\n const xRange = xScale.range();\n const yRange = yScale.range();\n const x1 = xIndex !== null ? scaleOfBandwidth(xScale, data[xIndex][x]) : undefined;\n const y1 = yIndex !== null ? scaleOfBandwidth(yScale, data[yIndex][y]) : undefined;\n\n return sstyled(styles)(\n <>\n {xIndex !== null ? (\n <SHoverLine render=\"line\" index={xIndex} x1={x1} y1={yRange[0]} x2={x1} y2={yRange[1]} />\n ) : null}\n {yIndex !== null ? (\n <SHoverLine render=\"line\" index={yIndex} x1={xRange[0]} y1={y1} x2={xRange[1]} y2={y1} />\n ) : null}\n </>,\n );\n }\n}\n\nclass HoverRectRoot extends Hover {\n static displayName = 'HoverRect';\n\n render() {\n const SHoverRect = this.Element;\n const { styles, x, y, data, scale } = this.asProps;\n const { xIndex, yIndex } = this.state;\n const [xScale, yScale] = scale;\n\n const xRange = xScale.range();\n const yRange = yScale.range();\n\n return sstyled(styles)(\n <>\n {xIndex !== null ? (\n <SHoverRect\n render=\"rect\"\n index={xIndex}\n width={xScale.step() - xScale.paddingInner() / 2}\n height={yRange[0] - yRange[1]}\n x={xScale(data[xIndex][x]) - (xScale.step() * xScale.paddingInner()) / 2}\n y={yRange[1]}\n />\n ) : null}\n {yIndex !== null ? (\n <SHoverRect\n render=\"rect\"\n index={yIndex}\n width={xRange[1] - xRange[0]}\n height={yScale.step() - yScale.paddingInner() / 2}\n x={xRange[0]}\n y={yScale(data[yIndex][y]) - (yScale.step() * yScale.paddingInner()) / 2}\n />\n ) : null}\n </>,\n );\n }\n}\n\nconst HoverLine = createElement(HoverLineRoot);\nconst HoverRect = createElement(HoverRectRoot);\n\nexport { HoverLine, HoverRect };\n"],"file":"Hover.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/Hover.js"],"names":["React","Component","sstyled","createElement","canUseDOM","scaleOfBandwidth","getIndexFromData","eventToPoint","invert","CONSTANT","trottle","Hover","xIndex","yIndex","document","e","asProps","eventEmitter","data","scale","x","y","rootRef","clientX","clientY","xScale","yScale","current","pX","pY","vX","vY","undefined","state","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","setState","emit","width","height","top","right","bottom","left","unsubscribeMouseMoveRoot","subscribe","persist","handlerMouseMoveRoot","unsubscribeMouseLeaveRoot","handlerMouseLeaveRoot","style","HoverLineRoot","SHoverLine","Element","styles","xRange","range","yRange","x1","y1","HoverRectRoot","SHoverRect","step","paddingInner","HoverLine","HoverRect"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { scaleOfBandwidth, getIndexFromData, eventToPoint, invert, CONSTANT } from './utils';\nimport trottle from '@semcore/utils/lib/rafTrottle';\n\nimport style from './style/hover.shadow.css';\n\nclass Hover extends Component {\n static style = style;\n\n state = {\n xIndex: null,\n yIndex: null,\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 handlerMouseMoveRoot = trottle((e) => {\n const { eventEmitter, data, scale, x, y, rootRef } = this.asProps;\n const { clientX, clientY } = e;\n const [xScale, yScale] = scale;\n const [pX, pY] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n const vY = invert(yScale, pY);\n const xIndex =\n x === undefined || vX === undefined ? null : getIndexFromData(data, xScale, x, vX);\n const yIndex =\n y === undefined || vY === undefined ? null : getIndexFromData(data, yScale, y, vY);\n const state = { xIndex, yIndex };\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(\n clientX,\n clientY,\n );\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n\n this.setState(state, () => {\n eventEmitter.emit(\n 'onTooltipVisible',\n xIndex !== null || yIndex !== null,\n state,\n this.virtualElement,\n );\n });\n });\n\n handlerMouseLeaveRoot = trottle(() => {\n const state = {\n xIndex: null,\n yIndex: null,\n };\n this.setState(state, () => {\n this.asProps.eventEmitter.emit('onTooltipVisible', false, state);\n });\n });\n\n componentDidMount() {\n const { eventEmitter } = this.asProps;\n this.unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', (e) => {\n e.persist();\n this.handlerMouseMoveRoot(e);\n });\n this.unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\n this.handlerMouseLeaveRoot,\n );\n }\n\n componentWillUnmount() {\n if (this.unsubscribeMouseMoveRoot) {\n this.unsubscribeMouseMoveRoot();\n }\n if (this.unsubscribeMouseLeaveRoot) {\n this.unsubscribeMouseLeaveRoot();\n }\n }\n}\n\nclass HoverLineRoot extends Hover {\n static displayName = 'HoverLine';\n\n render() {\n const SHoverLine = this.Element;\n const { styles, x, y, data, scale } = this.asProps;\n const { xIndex, yIndex } = this.state;\n const [xScale, yScale] = scale;\n\n const xRange = xScale.range();\n const yRange = yScale.range();\n const x1 = xIndex !== null ? scaleOfBandwidth(xScale, data[xIndex][x]) : undefined;\n const y1 = yIndex !== null ? scaleOfBandwidth(yScale, data[yIndex][y]) : undefined;\n\n return sstyled(styles)(\n <>\n {xIndex !== null ? (\n <SHoverLine render=\"line\" index={xIndex} x1={x1} y1={yRange[0]} x2={x1} y2={yRange[1]} />\n ) : null}\n {yIndex !== null ? (\n <SHoverLine render=\"line\" index={yIndex} x1={xRange[0]} y1={y1} x2={xRange[1]} y2={y1} />\n ) : null}\n </>,\n );\n }\n}\n\nclass HoverRectRoot extends Hover {\n static displayName = 'HoverRect';\n\n render() {\n const SHoverRect = this.Element;\n const { styles, x, y, data, scale } = this.asProps;\n const { xIndex, yIndex } = this.state;\n const [xScale, yScale] = scale;\n\n const xRange = xScale.range();\n const yRange = yScale.range();\n\n return sstyled(styles)(\n <>\n {xIndex !== null ? (\n <SHoverRect\n render=\"rect\"\n index={xIndex}\n width={xScale.step() - xScale.paddingInner() / 2}\n height={yRange[0] - yRange[1]}\n x={xScale(data[xIndex][x]) - (xScale.step() * xScale.paddingInner()) / 2}\n y={yRange[1]}\n />\n ) : null}\n {yIndex !== null ? (\n <SHoverRect\n render=\"rect\"\n index={yIndex}\n width={xRange[1] - xRange[0]}\n height={yScale.step() - yScale.paddingInner() / 2}\n x={xRange[0]}\n y={yScale(data[yIndex][y]) - (yScale.step() * yScale.paddingInner()) / 2}\n />\n ) : null}\n </>,\n );\n }\n}\n\nconst HoverLine = createElement(HoverLineRoot);\nconst HoverRect = createElement(HoverRectRoot);\n\nexport { HoverLine, HoverRect };\n"],"file":"Hover.js"}
|