@semcore/d3-chart 2.2.1 → 2.2.4
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 +21 -0
- package/README.md +2 -2
- package/lib/cjs/Area.js +9 -9
- package/lib/cjs/Area.js.map +1 -1
- package/lib/cjs/Axis.js +19 -17
- package/lib/cjs/Axis.js.map +1 -1
- package/lib/cjs/Bar.js +11 -11
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Bubble.js +12 -12
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/ClipPath.js +1 -1
- package/lib/cjs/ClipPath.js.map +1 -1
- package/lib/cjs/Donut.js +8 -8
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +9 -9
- package/lib/cjs/Dots.js.map +1 -1
- package/lib/cjs/GroupBar.js +8 -8
- package/lib/cjs/GroupBar.js.map +1 -1
- package/lib/cjs/HorizontalBar.js +11 -11
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Hover.js +4 -4
- package/lib/cjs/Hover.js.map +1 -1
- package/lib/cjs/Line.js +8 -8
- package/lib/cjs/Line.js.map +1 -1
- package/lib/cjs/Plot.js +4 -4
- package/lib/cjs/Plot.js.map +1 -1
- package/lib/cjs/RadialTree.js +99 -59
- package/lib/cjs/RadialTree.js.map +1 -1
- package/lib/cjs/ReferenceLine.js +10 -10
- package/lib/cjs/ReferenceLine.js.map +1 -1
- package/lib/cjs/ResponsiveContainer.js +1 -1
- package/lib/cjs/ResponsiveContainer.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +7 -7
- package/lib/cjs/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 +8 -8
- package/lib/cjs/StackedArea.js.map +1 -1
- package/lib/cjs/Tooltip.js +15 -11
- package/lib/cjs/Tooltip.js.map +1 -1
- package/lib/cjs/Venn.js +9 -9
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/color.js.map +1 -1
- package/lib/cjs/createElement.js +3 -2
- package/lib/cjs/createElement.js.map +1 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/style/radial-tree.shadow.css +0 -1
- package/lib/cjs/types/index.d.ts +3 -0
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Area.js +9 -9
- package/lib/es6/Area.js.map +1 -1
- package/lib/es6/Axis.js +19 -17
- package/lib/es6/Axis.js.map +1 -1
- package/lib/es6/Bar.js +11 -11
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Bubble.js +12 -12
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/ClipPath.js +1 -1
- package/lib/es6/ClipPath.js.map +1 -1
- package/lib/es6/Donut.js +8 -8
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +9 -9
- package/lib/es6/Dots.js.map +1 -1
- package/lib/es6/GroupBar.js +8 -8
- package/lib/es6/GroupBar.js.map +1 -1
- package/lib/es6/HorizontalBar.js +11 -11
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Hover.js +4 -4
- package/lib/es6/Hover.js.map +1 -1
- package/lib/es6/Line.js +8 -8
- package/lib/es6/Line.js.map +1 -1
- package/lib/es6/Plot.js +4 -4
- package/lib/es6/Plot.js.map +1 -1
- package/lib/es6/RadialTree.js +99 -59
- package/lib/es6/RadialTree.js.map +1 -1
- package/lib/es6/ReferenceLine.js +10 -10
- package/lib/es6/ReferenceLine.js.map +1 -1
- package/lib/es6/ResponsiveContainer.js +1 -1
- package/lib/es6/ResponsiveContainer.js.map +1 -1
- package/lib/es6/ScatterPlot.js +7 -7
- package/lib/es6/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 +8 -8
- package/lib/es6/StackedArea.js.map +1 -1
- package/lib/es6/Tooltip.js +15 -11
- package/lib/es6/Tooltip.js.map +1 -1
- package/lib/es6/Venn.js +9 -9
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/color.js.map +1 -1
- package/lib/es6/createElement.js +3 -2
- package/lib/es6/createElement.js.map +1 -1
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/style/radial-tree.shadow.css +0 -1
- package/lib/es6/types/index.d.ts +3 -0
- package/lib/es6/utils.js.map +1 -1
- package/lib/types/index.d.ts +3 -0
- package/package.json +1 -1
- package/src/Area.jsx +0 -137
- package/src/Axis.jsx +0 -314
- package/src/Bar.jsx +0 -149
- package/src/Bubble.jsx +0 -165
- package/src/ClipPath.jsx +0 -47
- package/src/Donut.jsx +0 -319
- package/src/Dots.jsx +0 -97
- package/src/GroupBar.jsx +0 -76
- package/src/HorizontalBar.jsx +0 -135
- package/src/Hover.jsx +0 -153
- package/src/Line.jsx +0 -89
- package/src/Plot.jsx +0 -79
- package/src/RadialTree.tsx +0 -767
- package/src/ReferenceLine.jsx +0 -146
- package/src/ResponsiveContainer.jsx +0 -84
- package/src/ScatterPlot.jsx +0 -112
- package/src/StackBar.jsx +0 -105
- package/src/StackedArea.jsx +0 -65
- package/src/Tooltip.jsx +0 -145
- package/src/Venn.jsx +0 -114
- package/src/color.js +0 -21
- package/src/createElement.jsx +0 -135
- package/src/index.js +0 -27
- package/src/style/area.shadow.css +0 -37
- package/src/style/axis.shadow.css +0 -85
- package/src/style/bar.shadow.css +0 -21
- package/src/style/bubble.shadow.css +0 -45
- package/src/style/donut.shadow.css +0 -24
- package/src/style/dot.shadow.css +0 -29
- package/src/style/hover.shadow.css +0 -9
- package/src/style/line.shadow.css +0 -29
- package/src/style/plot.shadow.css +0 -6
- package/src/style/radial-tree.shadow.css +0 -34
- package/src/style/reference-line.shadow.css +0 -37
- package/src/style/scatterplot.shadow.css +0 -27
- package/src/style/tooltip.shadow.css +0 -36
- package/src/style/var.css +0 -125
- package/src/style/venn.shadow.css +0 -29
- package/src/types/Area.d.ts +0 -48
- package/src/types/Axis.d.ts +0 -64
- package/src/types/Bar.d.ts +0 -52
- package/src/types/Bubble.d.ts +0 -32
- package/src/types/ClipPath.d.ts +0 -26
- package/src/types/Donut.d.ts +0 -46
- package/src/types/GroupBar.d.ts +0 -20
- package/src/types/HorizontalBar.d.ts +0 -29
- package/src/types/Hover.d.ts +0 -15
- package/src/types/Line.d.ts +0 -50
- package/src/types/Plot.d.ts +0 -16
- package/src/types/ReferenceLine.d.ts +0 -31
- package/src/types/ResponsiveContainer.d.ts +0 -20
- package/src/types/ScatterPlot.d.ts +0 -27
- package/src/types/StackBar.d.ts +0 -26
- package/src/types/StackedArea.d.ts +0 -26
- package/src/types/Tooltip.d.ts +0 -33
- package/src/types/Venn.d.ts +0 -45
- package/src/types/context.d.ts +0 -6
- package/src/types/index.d.ts +0 -56
- package/src/utils.ts +0 -227
package/lib/es6/Donut.js
CHANGED
|
@@ -34,16 +34,16 @@ var style = (
|
|
|
34
34
|
/*__reshadow_css_start__*/
|
|
35
35
|
_sstyled.insert(
|
|
36
36
|
/*__inner_css_start__*/
|
|
37
|
-
".
|
|
37
|
+
".___SPie_1wudp_gg_{stroke:#fff;fill:#2bb3ff}.___SPie_1wudp_gg_.__color_1wudp_gg_{fill:var(--color_1wudp)}.___SEmptyData_1wudp_gg_{fill:#e0e1e9}.___SEmptyData_1wudp_gg_.__color_1wudp_gg_{fill:var(--color_1wudp)}.___SLabel_1wudp_gg_{text-anchor:middle;vertical-anchor:middle}"
|
|
38
38
|
/*__inner_css_end__*/
|
|
39
|
-
, "
|
|
39
|
+
, "1wudp_gg_")
|
|
40
40
|
/*__reshadow_css_end__*/
|
|
41
41
|
, {
|
|
42
|
-
"__SPie": "
|
|
43
|
-
"_color": "
|
|
44
|
-
"--color": "--
|
|
45
|
-
"__SEmptyData": "
|
|
46
|
-
"__SLabel": "
|
|
42
|
+
"__SPie": "___SPie_1wudp_gg_",
|
|
43
|
+
"_color": "__color_1wudp_gg_",
|
|
44
|
+
"--color": "--color_1wudp",
|
|
45
|
+
"__SEmptyData": "___SEmptyData_1wudp_gg_",
|
|
46
|
+
"__SLabel": "___SLabel_1wudp_gg_"
|
|
47
47
|
});
|
|
48
48
|
var DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');
|
|
49
49
|
|
|
@@ -226,7 +226,7 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
226
226
|
|
|
227
227
|
if (d3Pie[DEFAULT_INSTANCE]) {
|
|
228
228
|
var keys = React.Children.toArray(getOriginChildren(Children)).reduce(function (acc, child) {
|
|
229
|
-
if (React.isValidElement(child) && child.type === Donut.Pie) {
|
|
229
|
+
if ( /*#__PURE__*/React.isValidElement(child) && child.type === Donut.Pie) {
|
|
230
230
|
acc.push(child.props.dataKey);
|
|
231
231
|
}
|
|
232
232
|
|
package/lib/es6/Donut.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Donut.jsx"],"names":["React","useEffect","useState","arc","pie","Component","sstyled","canUseDOM","getOriginChildren","CONSTANT","createElement","uniqueIDEnhancement","interpolate","transition","DEFAULT_INSTANCE","Symbol","animationInitialPie","halfsize","d3Arc","d3ArcOut","arcs","activeIndexPie","_","ind","d","iStart","Math","PI","startAngle","iEnd","endAngle","t","animationUpdatePie","_current","i","animationHoverPie","selector","duration","innerRadius","outerRadius","selection","select","attrTween","min","max","increaseFactor","getOuterRadius","size","width","height","minORmax","DonutRoot","document","undefined","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","active","data","id","uid","top","right","bottom","left","Children","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","$animationActivePie","animationActivePie","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","prevProps","$rootProps","selectAll","each","Element","k","getArcs","style","value","SPie","styles","color","other","isMount","setIsMount","name","EmptyData","SEmptyData","Label","SLabel"],"mappings":"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","sourcesContent":["import React, { useEffect, useState } 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, d3ArcOut, arcs, activeIndexPie }) {\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 ind === activeIndexPie ? d3ArcOut(d) : 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\n const d3ArcOut = arc()\n .outerRadius(getOuterRadius({ size, halfsize, outerRadius }) + increaseFactor)\n .innerRadius(innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius);\n\n let d3Pie = pie()\n .sort(null)\n .value(([, value]) => value);\n d3Pie[DEFAULT_INSTANCE] = true;\n\n if (halfsize) {\n d3Pie = d3Pie.startAngle(-Math.PI / 2).endAngle(Math.PI / 2);\n }\n return {\n d3Pie,\n d3Arc,\n d3ArcOut,\n duration: 500,\n };\n };\n\n get id() {\n const { uid, id } = this.asProps;\n return id || uid;\n }\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n activeIndexPie = undefined;\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getArcs() {\n const { Children, data, d3Pie } = this.asProps;\n let pieData = Object.entries(data);\n\n if (d3Pie[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === Donut.Pie) {\n acc.push(child.props.dataKey);\n }\n return acc;\n }, []);\n pieData = Object.entries(data)\n .filter(([key]) => keys.includes(key))\n .sort(([a], [b]) => (keys.indexOf(a) > keys.indexOf(b) ? 1 : -1));\n }\n const minValue =\n pieData.reduce((acc, cur) => {\n if (cur[1]) acc += cur[1];\n return acc;\n }, 0) / 100;\n pieData = pieData.map((d) => {\n if (d[1] && d[1] < minValue) d[1] = minValue;\n return d;\n });\n return d3Pie(pieData);\n }\n\n bindHandlerTooltip =\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 animationActivePie = (props) => {\n let { duration, innerRadius } = this.asProps;\n const { active, data, selector } = props;\n innerRadius = innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius;\n const outerRadius = getOuterRadius(this.asProps);\n active\n ? animationHoverPie({\n d: data,\n selector: `#${this.id} ${selector}`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius, outerRadius + increaseFactor],\n })\n : animationHoverPie({\n d: data,\n selector: `#${this.id} ${selector}`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius + increaseFactor, outerRadius],\n });\n };\n\n getPieProps(props, ind) {\n const { d3Arc, d3ArcOut } = this.asProps;\n const { active } = props;\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n if (active) {\n this.activeIndexPie = ind;\n }\n\n return {\n data,\n d3Arc,\n d3ArcOut,\n $animationActivePie: this.animationActivePie,\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n onMouseOver: (e) => {\n !active &&\n this.animationActivePie({\n active: true,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n });\n },\n onMouseOut: (e) => {\n !active &&\n this.animationActivePie({\n active: false,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\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, d3ArcOut } = this.asProps;\n const arcs = this.arcs;\n\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(\n 'd',\n animationInitialPie({\n halfsize,\n d3Arc,\n d3ArcOut,\n arcs,\n activeIndexPie: this.activeIndexPie,\n }),\n );\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({\n Element: SPie,\n styles,\n d3Arc,\n data,\n color,\n $animationActivePie,\n active,\n d3ArcOut,\n ...other\n}) {\n const [isMount, setIsMount] = useState(false);\n useEffect(() => {\n //you should't run animation for first render\n if (!isMount) {\n setIsMount(true);\n return;\n }\n if (active !== undefined && active !== null) {\n //name must unique on page\n $animationActivePie({ ...other, active, data, selector: `[name=\"${other.name}\"]` });\n }\n }, [active]);\n return sstyled(styles)(\n <SPie render=\"path\" color={color} d={active ? d3ArcOut(data) : d3Arc(data)} />,\n );\n}\n\nfunction EmptyData({ Element: SEmptyData, styles, d3Arc, color }) {\n return sstyled(styles)(\n <SEmptyData render=\"path\" color={color} d={d3Arc({ endAngle: Math.PI * 2, startAngle: 0 })} />,\n );\n}\n\nfunction Label({ Element: SLabel, styles, Children }) {\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,"file":"Donut.js","names":["React","useEffect","useState","arc","pie","Component","sstyled","canUseDOM","getOriginChildren","CONSTANT","createElement","uniqueIDEnhancement","interpolate","transition","DEFAULT_INSTANCE","Symbol","animationInitialPie","halfsize","d3Arc","d3ArcOut","arcs","activeIndexPie","_","ind","d","iStart","Math","PI","startAngle","iEnd","endAngle","t","animationUpdatePie","_current","i","animationHoverPie","selector","duration","innerRadius","outerRadius","selection","select","attrTween","min","max","increaseFactor","getOuterRadius","size","width","height","minORmax","DonutRoot","document","undefined","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","active","data","id","uid","top","right","bottom","left","Children","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","$animationActivePie","animationActivePie","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","prevProps","$rootProps","selectAll","each","Element","k","getArcs","style","value","SPie","styles","color","other","isMount","setIsMount","name","EmptyData","SEmptyData","Label","SLabel"],"sources":["../../src/Donut.jsx"],"sourcesContent":["import React, { useEffect, useState } 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, d3ArcOut, arcs, activeIndexPie }) {\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 ind === activeIndexPie ? d3ArcOut(d) : 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\n const d3ArcOut = arc()\n .outerRadius(getOuterRadius({ size, halfsize, outerRadius }) + increaseFactor)\n .innerRadius(innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius);\n\n let d3Pie = pie()\n .sort(null)\n .value(([, value]) => value);\n d3Pie[DEFAULT_INSTANCE] = true;\n\n if (halfsize) {\n d3Pie = d3Pie.startAngle(-Math.PI / 2).endAngle(Math.PI / 2);\n }\n return {\n d3Pie,\n d3Arc,\n d3ArcOut,\n duration: 500,\n };\n };\n\n get id() {\n const { uid, id } = this.asProps;\n return id || uid;\n }\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n activeIndexPie = undefined;\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getArcs() {\n const { Children, data, d3Pie } = this.asProps;\n let pieData = Object.entries(data);\n\n if (d3Pie[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === Donut.Pie) {\n acc.push(child.props.dataKey);\n }\n return acc;\n }, []);\n pieData = Object.entries(data)\n .filter(([key]) => keys.includes(key))\n .sort(([a], [b]) => (keys.indexOf(a) > keys.indexOf(b) ? 1 : -1));\n }\n const minValue =\n pieData.reduce((acc, cur) => {\n if (cur[1]) acc += cur[1];\n return acc;\n }, 0) / 100;\n pieData = pieData.map((d) => {\n if (d[1] && d[1] < minValue) d[1] = minValue;\n return d;\n });\n return d3Pie(pieData);\n }\n\n bindHandlerTooltip =\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 animationActivePie = (props) => {\n let { duration, innerRadius } = this.asProps;\n const { active, data, selector } = props;\n innerRadius = innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius;\n const outerRadius = getOuterRadius(this.asProps);\n active\n ? animationHoverPie({\n d: data,\n selector: `#${this.id} ${selector}`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius, outerRadius + increaseFactor],\n })\n : animationHoverPie({\n d: data,\n selector: `#${this.id} ${selector}`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius + increaseFactor, outerRadius],\n });\n };\n\n getPieProps(props, ind) {\n const { d3Arc, d3ArcOut } = this.asProps;\n const { active } = props;\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n if (active) {\n this.activeIndexPie = ind;\n }\n\n return {\n data,\n d3Arc,\n d3ArcOut,\n $animationActivePie: this.animationActivePie,\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n onMouseOver: (e) => {\n !active &&\n this.animationActivePie({\n active: true,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n });\n },\n onMouseOut: (e) => {\n !active &&\n this.animationActivePie({\n active: false,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\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, d3ArcOut } = this.asProps;\n const arcs = this.arcs;\n\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(\n 'd',\n animationInitialPie({\n halfsize,\n d3Arc,\n d3ArcOut,\n arcs,\n activeIndexPie: this.activeIndexPie,\n }),\n );\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({\n Element: SPie,\n styles,\n d3Arc,\n data,\n color,\n $animationActivePie,\n active,\n d3ArcOut,\n ...other\n}) {\n const [isMount, setIsMount] = useState(false);\n useEffect(() => {\n //you should't run animation for first render\n if (!isMount) {\n setIsMount(true);\n return;\n }\n if (active !== undefined && active !== null) {\n //name must unique on page\n $animationActivePie({ ...other, active, data, selector: `[name=\"${other.name}\"]` });\n }\n }, [active]);\n return sstyled(styles)(\n <SPie render=\"path\" color={color} d={active ? d3ArcOut(data) : d3Arc(data)} />,\n );\n}\n\nfunction EmptyData({ Element: SEmptyData, styles, d3Arc, color }) {\n return sstyled(styles)(\n <SEmptyData render=\"path\" color={color} d={d3Arc({ endAngle: Math.PI * 2, startAngle: 0 })} />,\n );\n}\n\nfunction Label({ Element: SLabel, styles, Children }) {\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"],"mappings":"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"}
|
package/lib/es6/Dots.js
CHANGED
|
@@ -12,18 +12,18 @@ var style = (
|
|
|
12
12
|
/*__reshadow_css_start__*/
|
|
13
13
|
_sstyled.insert(
|
|
14
14
|
/*__inner_css_start__*/
|
|
15
|
-
".
|
|
15
|
+
".___SDots_sn9lg_gg_ .___SDot_sn9lg_gg_{transition-duration:var(--duration_sn9lg)}.___SDot_sn9lg_gg_{stroke-width:2px;stroke:#fff;r:6px;fill:#2bb3ff;transition-property:cx,cy;transition-timing-function:ease-in-out}.___SDot_sn9lg_gg_.__hide_sn9lg_gg_{display:none}.___SDot_sn9lg_gg_.__active_sn9lg_gg_{r:8px}.___SDot_sn9lg_gg_.__color_sn9lg_gg_{fill:var(--color_sn9lg)}"
|
|
16
16
|
/*__inner_css_end__*/
|
|
17
|
-
, "
|
|
17
|
+
, "sn9lg_gg_")
|
|
18
18
|
/*__reshadow_css_end__*/
|
|
19
19
|
, {
|
|
20
|
-
"__SDots": "
|
|
21
|
-
"__SDot": "
|
|
22
|
-
"--duration": "--
|
|
23
|
-
"_hide": "
|
|
24
|
-
"_active": "
|
|
25
|
-
"_color": "
|
|
26
|
-
"--color": "--
|
|
20
|
+
"__SDots": "___SDots_sn9lg_gg_",
|
|
21
|
+
"__SDot": "___SDot_sn9lg_gg_",
|
|
22
|
+
"--duration": "--duration_sn9lg",
|
|
23
|
+
"_hide": "__hide_sn9lg_gg_",
|
|
24
|
+
"_active": "__active_sn9lg_gg_",
|
|
25
|
+
"_color": "__color_sn9lg_gg_",
|
|
26
|
+
"--color": "--color_sn9lg"
|
|
27
27
|
});
|
|
28
28
|
var EXCLUDE_PROPS = ['data', 'scale', 'value', 'display'];
|
|
29
29
|
|
package/lib/es6/Dots.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"Dots.js","names":["bisector","React","useCallback","useEffect","useState","sstyled","eventToPoint","invert","createElement","trottle","EXCLUDE_PROPS","Dots","props","SDot","Element","styles","data","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","duration","SDots","bisect","d","center","activeIndex","setActiveIndex","handlerMouseMoveRoot","e","xScale","current","pX","vX","handlerMouseLeaveRoot","unsubscribeMouseMoveRoot","subscribe","persist","unsubscribeMouseLeaveRoot","dots","reduce","acc","i","isPrev","defined","isNext","active","visible","push","style"],"sources":["../../src/Dots.jsx"],"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 trottle from '@semcore/utils/lib/rafTrottle';\n\nimport style from './style/dot.shadow.css';\n\nconst EXCLUDE_PROPS = ['data', 'scale', 'value', 'display'];\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 SDots = 'g';\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, scale, data, x, y]);\n\n const dots = 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 const visible = display || i === activeIndex || (!isPrev && !isNext);\n if (!d3.defined()(d)) return acc;\n if (!visible) return acc;\n acc.push(\n sstyled(styles)(\n <SDot\n key={i}\n render=\"circle\"\n visible={visible}\n __excludeProps={EXCLUDE_PROPS}\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 />,\n ),\n );\n return acc;\n }, []);\n return sstyled(styles)(<SDots use:duration={`${duration}ms`}>{dots}</SDots>);\n}\n\nDots.style = style;\n\nexport default createElement(Dots);\n"],"mappings":"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"}
|
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_1ptfs_gg_{fill:#2bb3ff;transition-property:height,width,y;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SBar_1ptfs_gg_.__color_1ptfs_gg_{fill:var(--color)}.___SBar_1ptfs_gg_.__hide_1ptfs_gg_{display:none}.___SBackground_1ptfs_gg_{fill:#c4c7cf}"
|
|
26
26
|
/*__inner_css_end__*/
|
|
27
|
-
, "
|
|
27
|
+
, "18c2q6a_gg_")
|
|
28
28
|
/*__reshadow_css_end__*/
|
|
29
29
|
, {
|
|
30
|
-
"__SBar": "
|
|
31
|
-
"_color": "
|
|
32
|
-
"_hide": "
|
|
33
|
-
"__SBackground": "
|
|
30
|
+
"__SBar": "___SBar_1ptfs_gg_",
|
|
31
|
+
"_color": "__color_1ptfs_gg_",
|
|
32
|
+
"_hide": "__hide_1ptfs_gg_",
|
|
33
|
+
"__SBackground": "___SBackground_1ptfs_gg_"
|
|
34
34
|
}),
|
|
35
35
|
style = _extends({}, _ref);
|
|
36
36
|
|
|
@@ -57,11 +57,11 @@ var GroupBarRoot = /*#__PURE__*/function (_Component) {
|
|
|
57
57
|
var xyScale = x ? scale[0] : scale[1];
|
|
58
58
|
if (scaleGroup) return scaleGroup;
|
|
59
59
|
var domain = React.Children.toArray(getOriginChildren(Children)).reduce(function (acc, child) {
|
|
60
|
-
if (React.isValidElement(child) && child.type === GroupBar.Bar && !child.props.hide) {
|
|
60
|
+
if ( /*#__PURE__*/React.isValidElement(child) && child.type === GroupBar.Bar && !child.props.hide) {
|
|
61
61
|
acc.push(child.props.y);
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
if (React.isValidElement(child) && child.type === GroupBar.HorizontalBar && !child.props.hide) {
|
|
64
|
+
if ( /*#__PURE__*/React.isValidElement(child) && child.type === GroupBar.HorizontalBar && !child.props.hide) {
|
|
65
65
|
acc.push(child.props.x);
|
|
66
66
|
}
|
|
67
67
|
|
package/lib/es6/GroupBar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"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"],"sources":["../../src/GroupBar.jsx"],"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: love that hack (by lsroman)\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"],"mappings":"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"}
|
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_1j8s7_gg_{fill:#2bb3ff;transition-property:height,width,y;transition-duration:var(--duration_1j8s7);transition-timing-function:ease-in-out}.___SBar_1j8s7_gg_.__color_1j8s7_gg_{fill:var(--color_1j8s7)}.___SBar_1j8s7_gg_.__hide_1j8s7_gg_{display:none}.___SBackground_1j8s7_gg_{fill:#c4c7cf}"
|
|
27
27
|
/*__inner_css_end__*/
|
|
28
|
-
, "
|
|
28
|
+
, "1j8s7_gg_")
|
|
29
29
|
/*__reshadow_css_end__*/
|
|
30
30
|
, {
|
|
31
|
-
"__SBar": "
|
|
32
|
-
"--duration": "--
|
|
33
|
-
"_color": "
|
|
34
|
-
"--color": "--
|
|
35
|
-
"_hide": "
|
|
36
|
-
"__SBackground": "
|
|
31
|
+
"__SBar": "___SBar_1j8s7_gg_",
|
|
32
|
+
"--duration": "--duration_1j8s7",
|
|
33
|
+
"_color": "__color_1j8s7_gg_",
|
|
34
|
+
"--color": "--color_1j8s7",
|
|
35
|
+
"_hide": "__hide_1j8s7_gg_",
|
|
36
|
+
"__SBackground": "___SBackground_1j8s7_gg_"
|
|
37
37
|
});
|
|
38
38
|
|
|
39
39
|
var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
|
|
@@ -60,7 +60,7 @@ var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
|
|
|
60
60
|
}, {
|
|
61
61
|
key: "renderBar",
|
|
62
62
|
value: function renderBar(d, i) {
|
|
63
|
-
var _ref;
|
|
63
|
+
var _ref, _d$x, _d$x2;
|
|
64
64
|
|
|
65
65
|
var SBar = this.Element;
|
|
66
66
|
var _this$asProps2 = this.asProps,
|
|
@@ -84,9 +84,9 @@ var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
|
|
|
84
84
|
yScale = _scale[1];
|
|
85
85
|
|
|
86
86
|
var barY = yScale(d[y]) + offset[1];
|
|
87
|
-
var barX = xScale(Math.min(d[x0]
|
|
87
|
+
var barX = xScale(Math.min((_d$x = d[x0]) !== null && _d$x !== void 0 ? _d$x : 0, d[x])) + offset[0];
|
|
88
88
|
var height = heightProps || getBandwidth(yScale);
|
|
89
|
-
var width = Math.abs(xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[x0]
|
|
89
|
+
var width = Math.abs(xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale((_d$x2 = d[x0]) !== null && _d$x2 !== void 0 ? _d$x2 : 0)));
|
|
90
90
|
var dSvg = getHorizontalRect({
|
|
91
91
|
x: barX,
|
|
92
92
|
y: barY,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"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"],"sources":["../../src/HorizontalBar.jsx"],"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"],"mappings":"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"}
|
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_z4284_gg_{stroke:#a9abb6}.___SHoverRect_z4284_gg_{fill:rgba(196,199,207,.3)}"
|
|
28
28
|
/*__inner_css_end__*/
|
|
29
|
-
, "
|
|
29
|
+
, "z4284_gg_")
|
|
30
30
|
/*__reshadow_css_end__*/
|
|
31
31
|
, {
|
|
32
|
-
"__SHoverLine": "
|
|
33
|
-
"__SHoverRect": "
|
|
32
|
+
"__SHoverLine": "___SHoverLine_z4284_gg_",
|
|
33
|
+
"__SHoverRect": "___SHoverRect_z4284_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.jsx"],"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"}
|
|
1
|
+
{"version":3,"file":"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"],"sources":["../../src/Hover.jsx"],"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"],"mappings":"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"}
|
package/lib/es6/Line.js
CHANGED
|
@@ -25,17 +25,17 @@ var style = (
|
|
|
25
25
|
/*__reshadow_css_start__*/
|
|
26
26
|
_sstyled.insert(
|
|
27
27
|
/*__inner_css_start__*/
|
|
28
|
-
".
|
|
28
|
+
".___SLine_1wqz9_gg_{fill:transparent;stroke-width:3;stroke:#2bb3ff;transition-property:d;transition-duration:var(--duration_1wqz9);transition-timing-function:ease-in-out}.___SLine_1wqz9_gg_.__color_1wqz9_gg_{stroke:var(--color_1wqz9)}.___SLine_1wqz9_gg_.__hide_1wqz9_gg_{display:none}.___SNull_1wqz9_gg_{fill:transparent;stroke:#c4c7cf;stroke-dasharray:4}.___SNull_1wqz9_gg_.__hide_1wqz9_gg_{display:none}"
|
|
29
29
|
/*__inner_css_end__*/
|
|
30
|
-
, "
|
|
30
|
+
, "1wqz9_gg_")
|
|
31
31
|
/*__reshadow_css_end__*/
|
|
32
32
|
, {
|
|
33
|
-
"__SLine": "
|
|
34
|
-
"--duration": "--
|
|
35
|
-
"_color": "
|
|
36
|
-
"--color": "--
|
|
37
|
-
"_hide": "
|
|
38
|
-
"__SNull": "
|
|
33
|
+
"__SLine": "___SLine_1wqz9_gg_",
|
|
34
|
+
"--duration": "--duration_1wqz9",
|
|
35
|
+
"_color": "__color_1wqz9_gg_",
|
|
36
|
+
"--color": "--color_1wqz9",
|
|
37
|
+
"_hide": "__hide_1wqz9_gg_",
|
|
38
|
+
"__SNull": "___SNull_1wqz9_gg_"
|
|
39
39
|
});
|
|
40
40
|
|
|
41
41
|
var LineRoot = /*#__PURE__*/function (_Component) {
|
package/lib/es6/Line.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"Line.js","names":["React","curveLinear","line","d3Line","Component","sstyled","createElement","definedData","definedNullData","scaleOfBandwidth","getNullData","Dots","ClipPath","uniqueIDEnhancement","LineRoot","asProps","x","y","d3","color","duration","data","SLine","Element","styles","hide","uid","size","rect","setAttribute","style","$rootProps","curve","scale","xScale","yScale","defined","p","Null","props","SNull"],"sources":["../../src/Line.jsx"],"sourcesContent":["import React from 'react';\nimport { curveLinear, line as d3Line } from 'd3-shape';\nimport { Component, sstyled } from '@semcore/core';\nimport createElement from './createElement';\nimport { definedData, definedNullData, scaleOfBandwidth, getNullData } from './utils';\nimport Dots from './Dots';\nimport ClipPath from './ClipPath';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/line.shadow.css';\n\nclass LineRoot extends Component {\n static displayName = 'Line';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({ x, y, $rootProps, curve = curveLinear, scale }) => {\n const [xScale, yScale] = scale || $rootProps.scale;\n return {\n d3: d3Line()\n .defined(definedData(x, y))\n .curve(curve)\n .x((p) => scaleOfBandwidth(xScale, p[x]))\n .y((p) => scaleOfBandwidth(yScale, p[y])),\n duration: 500,\n };\n };\n\n getDotsProps() {\n const { x, y, d3, color, duration } = this.asProps;\n return {\n x,\n y,\n d3,\n color,\n duration,\n };\n }\n\n getNullProps() {\n const { x, y, d3, color, data } = this.asProps;\n return {\n d3,\n // TODO: vertical\n data: getNullData(data, definedNullData(x, y), y),\n color,\n };\n }\n\n render() {\n const SLine = this.Element;\n const { styles, hide, color, uid, size, d3, data, duration } = this.asProps;\n return sstyled(styles)(\n <>\n <SLine\n clipPath={`url(#${uid})`}\n render=\"path\"\n hide={hide}\n color={color}\n d={d3(data)}\n use:duration={`${duration}ms`}\n />\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 Null(props) {\n const { Element: SNull, styles, d3, data, hide } = props;\n return sstyled(styles)(<SNull render=\"path\" d={d3(data)} hide={hide} />);\n}\n\nexport default createElement(LineRoot, {\n Dots,\n Null,\n});\n"],"mappings":"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"}
|
package/lib/es6/Plot.js
CHANGED
|
@@ -28,12 +28,12 @@ var style = (
|
|
|
28
28
|
/*__reshadow_css_start__*/
|
|
29
29
|
_sstyled.insert(
|
|
30
30
|
/*__inner_css_start__*/
|
|
31
|
-
".
|
|
31
|
+
".___SPlot_1gqmg_gg_{overflow:hidden}"
|
|
32
32
|
/*__inner_css_end__*/
|
|
33
|
-
, "
|
|
33
|
+
, "1gqmg_gg_")
|
|
34
34
|
/*__reshadow_css_end__*/
|
|
35
35
|
, {
|
|
36
|
-
"__SPlot": "
|
|
36
|
+
"__SPlot": "___SPlot_1gqmg_gg_"
|
|
37
37
|
});
|
|
38
38
|
|
|
39
39
|
var PlotRoot = /*#__PURE__*/function (_Component) {
|
|
@@ -48,7 +48,7 @@ var PlotRoot = /*#__PURE__*/function (_Component) {
|
|
|
48
48
|
|
|
49
49
|
_this = _super.call(this, props);
|
|
50
50
|
|
|
51
|
-
_defineProperty(_assertThisInitialized(_this), "rootRef", React.createRef());
|
|
51
|
+
_defineProperty(_assertThisInitialized(_this), "rootRef", /*#__PURE__*/React.createRef());
|
|
52
52
|
|
|
53
53
|
_defineProperty(_assertThisInitialized(_this), "handlerMouseMove", function (e) {
|
|
54
54
|
var scale = _this.asProps.scale;
|
package/lib/es6/Plot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"Plot.js","names":["React","createComponent","Component","Root","sstyled","Box","EventEmitter","eventToPoint","PlotRoot","props","createRef","e","scale","asProps","eventEmitter","emit","xScale","yScale","rootRef","current","pX","pY","range","minX","maxX","maxY","minY","data","width","height","$rootProps","size","SPlot","styles","handlerMouseMove","handlerMouseLeave","style"],"sources":["../../src/Plot.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport EventEmitter from '@semcore/utils/lib/eventEmitter';\nimport { eventToPoint } from './utils';\nimport style from './style/plot.shadow.css';\n\nclass PlotRoot extends Component {\n static displayName = 'Plot';\n static style = style;\n\n constructor(props) {\n super(props);\n this.eventEmitter = props.eventEmitter || new EventEmitter();\n }\n\n static defaultProps = () => ({\n width: 0,\n height: 0,\n });\n\n rootRef = React.createRef();\n\n handlerMouseMove = (e) => {\n const { scale } = this.asProps;\n this.eventEmitter.emit(`onMouseMoveRoot`, e);\n\n if (scale) {\n const [xScale, yScale] = scale;\n const [pX, pY] = eventToPoint(e, this.rootRef.current);\n const [minX, maxX] = xScale.range();\n const [maxY, minY] = yScale.range();\n\n if (pX >= minX && pX <= maxX && pY >= minY && pY <= maxY) {\n this.eventEmitter.emit('onMouseMoveChart', e);\n } else {\n this.eventEmitter.emit('onMouseLeaveChart', e);\n }\n }\n };\n\n handlerMouseLeave = (e) => {\n this.eventEmitter.emit(`onMouseLeaveRoot`, e);\n this.eventEmitter.emit('onMouseLeaveChart', e);\n };\n\n setContext() {\n const { scale, data, width, height } = this.asProps;\n return {\n $rootProps: {\n size: [width, height],\n data: data,\n scale: scale,\n eventEmitter: this.eventEmitter,\n rootRef: this.rootRef,\n },\n };\n }\n\n render() {\n const SPlot = Root;\n const { styles, width, height } = this.asProps;\n\n if (!width || !height) return null;\n\n return sstyled(styles)(\n <SPlot\n render={Box}\n tag=\"svg\"\n __excludeProps={['data', 'scale']}\n ref={this.rootRef}\n onMouseMove={this.handlerMouseMove}\n onMouseLeave={this.handlerMouseLeave}\n />,\n );\n }\n}\n\nexport default createComponent(PlotRoot);\n"],"mappings":"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"}
|