@semcore/d3-chart 1.7.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/lib/cjs/Area.js +9 -9
- package/lib/cjs/Axis.js +33 -21
- package/lib/cjs/Axis.js.map +1 -1
- package/lib/cjs/Bar.js +11 -11
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Bubble.js +13 -34
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/ClipPath.js +2 -1
- package/lib/cjs/ClipPath.js.map +1 -1
- package/lib/cjs/Donut.js +8 -8
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +9 -9
- package/lib/cjs/Dots.js.map +1 -1
- package/lib/cjs/GroupBar.js +8 -8
- package/lib/cjs/GroupBar.js.map +1 -1
- package/lib/cjs/HorizontalBar.js +11 -11
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Hover.js +4 -4
- package/lib/cjs/Line.js +8 -8
- package/lib/cjs/Plot.js +15 -1
- package/lib/cjs/Plot.js.map +1 -1
- package/lib/cjs/RadialTree.js +694 -0
- package/lib/cjs/RadialTree.js.map +1 -0
- package/lib/cjs/ResponsiveContainer.js +1 -1
- package/lib/cjs/ResponsiveContainer.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +7 -7
- package/lib/cjs/StackBar.js +8 -8
- package/lib/cjs/StackBar.js.map +1 -1
- package/lib/cjs/StackedArea.js +8 -8
- package/lib/cjs/StackedArea.js.map +1 -1
- package/lib/cjs/Tooltip.js +11 -15
- package/lib/cjs/Tooltip.js.map +1 -1
- package/lib/cjs/Venn.js +9 -9
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/color.js +122 -30
- package/lib/cjs/color.js.map +1 -1
- package/lib/cjs/createElement.js +3 -2
- package/lib/cjs/createElement.js.map +1 -1
- package/lib/cjs/index.js +8 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/style/area.shadow.css +4 -4
- package/lib/cjs/style/axis.shadow.css +6 -8
- package/lib/cjs/style/bar.shadow.css +2 -2
- package/lib/cjs/style/bubble.shadow.css +3 -3
- package/lib/cjs/style/donut.shadow.css +2 -2
- package/lib/cjs/style/dot.shadow.css +1 -1
- package/lib/cjs/style/hover.shadow.css +2 -2
- package/lib/cjs/style/line.shadow.css +2 -2
- package/lib/cjs/style/plot.shadow.css +6 -0
- package/lib/cjs/style/radial-tree.shadow.css +34 -0
- package/lib/cjs/style/scatterplot.shadow.css +2 -2
- package/lib/cjs/style/tooltip.shadow.css +5 -5
- package/lib/cjs/style/var.css +123 -30
- package/lib/cjs/style/venn.shadow.css +1 -1
- package/lib/cjs/types/Area.d.ts +47 -0
- package/lib/cjs/types/Axis.d.ts +64 -0
- package/lib/cjs/types/Bar.d.ts +48 -0
- package/lib/cjs/types/Bubble.d.ts +27 -0
- package/lib/cjs/types/ClipPath.d.ts +26 -0
- package/lib/cjs/types/Donut.d.ts +42 -0
- package/lib/cjs/types/GroupBar.d.ts +20 -0
- package/lib/cjs/types/HorizontalBar.d.ts +29 -0
- package/lib/cjs/types/Hover.d.ts +15 -0
- package/lib/cjs/types/Line.d.ts +50 -0
- package/lib/cjs/types/Plot.d.ts +16 -0
- package/lib/cjs/types/ResponsiveContainer.d.ts +20 -0
- package/lib/cjs/types/ScatterPlot.d.ts +27 -0
- package/lib/cjs/types/StackBar.d.ts +26 -0
- package/lib/cjs/types/StackedArea.d.ts +26 -0
- package/lib/cjs/types/Tooltip.d.ts +31 -0
- package/lib/cjs/types/Venn.d.ts +45 -0
- package/lib/cjs/types/context.d.ts +6 -0
- package/lib/cjs/types/index.d.ts +53 -0
- package/lib/cjs/utils.js +120 -55
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Area.js +9 -9
- package/lib/es6/Axis.js +33 -21
- package/lib/es6/Axis.js.map +1 -1
- package/lib/es6/Bar.js +11 -11
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Bubble.js +13 -34
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/ClipPath.js +2 -1
- package/lib/es6/ClipPath.js.map +1 -1
- package/lib/es6/Donut.js +8 -8
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +9 -9
- package/lib/es6/Dots.js.map +1 -1
- package/lib/es6/GroupBar.js +8 -8
- package/lib/es6/GroupBar.js.map +1 -1
- package/lib/es6/HorizontalBar.js +11 -11
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Hover.js +4 -4
- package/lib/es6/Line.js +8 -8
- package/lib/es6/Plot.js +17 -1
- package/lib/es6/Plot.js.map +1 -1
- package/lib/es6/RadialTree.js +682 -0
- package/lib/es6/RadialTree.js.map +1 -0
- package/lib/es6/ResponsiveContainer.js +1 -1
- package/lib/es6/ResponsiveContainer.js.map +1 -1
- package/lib/es6/ScatterPlot.js +7 -7
- package/lib/es6/StackBar.js +8 -8
- package/lib/es6/StackBar.js.map +1 -1
- package/lib/es6/StackedArea.js +8 -8
- package/lib/es6/StackedArea.js.map +1 -1
- package/lib/es6/Tooltip.js +11 -15
- package/lib/es6/Tooltip.js.map +1 -1
- package/lib/es6/Venn.js +9 -9
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/color.js +122 -30
- package/lib/es6/color.js.map +1 -1
- package/lib/es6/createElement.js +3 -2
- package/lib/es6/createElement.js.map +1 -1
- package/lib/es6/index.js +1 -0
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/style/area.shadow.css +4 -4
- package/lib/es6/style/axis.shadow.css +6 -8
- package/lib/es6/style/bar.shadow.css +2 -2
- package/lib/es6/style/bubble.shadow.css +3 -3
- package/lib/es6/style/donut.shadow.css +2 -2
- package/lib/es6/style/dot.shadow.css +1 -1
- package/lib/es6/style/hover.shadow.css +2 -2
- package/lib/es6/style/line.shadow.css +2 -2
- package/lib/es6/style/plot.shadow.css +6 -0
- package/lib/es6/style/radial-tree.shadow.css +34 -0
- package/lib/es6/style/scatterplot.shadow.css +2 -2
- package/lib/es6/style/tooltip.shadow.css +5 -5
- package/lib/es6/style/var.css +123 -30
- package/lib/es6/style/venn.shadow.css +1 -1
- package/lib/es6/types/Area.d.ts +47 -0
- package/lib/es6/types/Axis.d.ts +64 -0
- package/lib/es6/types/Bar.d.ts +48 -0
- package/lib/es6/types/Bubble.d.ts +27 -0
- package/lib/es6/types/ClipPath.d.ts +26 -0
- package/lib/es6/types/Donut.d.ts +42 -0
- package/lib/es6/types/GroupBar.d.ts +20 -0
- package/lib/es6/types/HorizontalBar.d.ts +29 -0
- package/lib/es6/types/Hover.d.ts +15 -0
- package/lib/es6/types/Line.d.ts +50 -0
- package/lib/es6/types/Plot.d.ts +16 -0
- package/lib/es6/types/ResponsiveContainer.d.ts +20 -0
- package/lib/es6/types/ScatterPlot.d.ts +27 -0
- package/lib/es6/types/StackBar.d.ts +26 -0
- package/lib/es6/types/StackedArea.d.ts +26 -0
- package/lib/es6/types/Tooltip.d.ts +31 -0
- package/lib/es6/types/Venn.d.ts +45 -0
- package/lib/es6/types/context.d.ts +6 -0
- package/lib/es6/types/index.d.ts +53 -0
- package/lib/es6/utils.js +95 -44
- package/lib/es6/utils.js.map +1 -1
- package/lib/types/RadialTree.d.ts +202 -0
- package/lib/types/index.d.ts +6 -0
- package/lib/types/utils.d.ts +27 -0
- package/package.json +22 -10
- package/src/Axis.jsx +11 -1
- package/src/Bubble.jsx +1 -21
- package/src/ClipPath.jsx +1 -0
- package/src/Donut.jsx +7 -9
- package/src/Plot.jsx +2 -0
- package/src/RadialTree.tsx +767 -0
- package/src/createElement.jsx +3 -1
- package/src/index.js +1 -0
- package/src/style/area.shadow.css +4 -4
- package/src/style/axis.shadow.css +6 -8
- package/src/style/bar.shadow.css +2 -2
- package/src/style/bubble.shadow.css +3 -3
- package/src/style/donut.shadow.css +2 -2
- package/src/style/dot.shadow.css +1 -1
- package/src/style/hover.shadow.css +2 -2
- package/src/style/line.shadow.css +2 -2
- package/src/style/plot.shadow.css +6 -0
- package/src/style/radial-tree.shadow.css +34 -0
- package/src/style/scatterplot.shadow.css +2 -2
- package/src/style/tooltip.shadow.css +5 -5
- package/src/style/var.css +123 -30
- package/src/style/venn.shadow.css +1 -1
- package/src/types/index.d.ts +6 -0
- package/src/utils.ts +227 -0
- package/src/utils.js +0 -147
package/lib/cjs/Donut.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Donut.jsx"],"names":["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","transition","attrTween","min","max","d3ArcOut","increaseFactor","getOuterRadius","size","width","height","minORmax","DonutRoot","document","createElement","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","uid","id","top","right","bottom","left","Children","data","d3Pie","pieData","Object","entries","keys","React","toArray","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","key","includes","sort","a","b","indexOf","minValue","cur","map","find","arc","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","prevProps","$rootProps","selectAll","each","Element","k","getArcs","Component","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 =\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 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.jsx"],"names":["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","transition","attrTween","min","max","d3ArcOut","increaseFactor","getOuterRadius","size","width","height","minORmax","DonutRoot","document","createElement","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","uid","id","top","right","bottom","left","Children","data","d3Pie","pieData","Object","entries","keys","React","toArray","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","key","includes","sort","a","b","indexOf","minValue","cur","map","find","arc","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","prevProps","$rootProps","selectAll","each","Element","k","getArcs","Component","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 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 = (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/cjs/Dots.js
CHANGED
|
@@ -36,17 +36,17 @@ var style = (
|
|
|
36
36
|
/*__reshadow_css_start__*/
|
|
37
37
|
_core.sstyled.insert(
|
|
38
38
|
/*__inner_css_start__*/
|
|
39
|
-
".
|
|
39
|
+
".___SDot_1gsnq_gg_{stroke-width:2px;stroke:#fff;r:6px;fill:#2bb3ff;transition-property:cx,cy;transition-duration:var(--duration_1hsdugh);transition-timing-function:ease-in-out}.___SDot_1gsnq_gg_.__color_1gsnq_gg_{fill:var(--color_1hsdugh)}.___SDot_1gsnq_gg_.__hide_1gsnq_gg_{display:none}.___SDot_1gsnq_gg_.__active_1gsnq_gg_{r:8px}"
|
|
40
40
|
/*__inner_css_end__*/
|
|
41
|
-
, "
|
|
41
|
+
, "1hsdugh_gg_")
|
|
42
42
|
/*__reshadow_css_end__*/
|
|
43
43
|
, {
|
|
44
|
-
"__SDot": "
|
|
45
|
-
"--duration": "--
|
|
46
|
-
"_color": "
|
|
47
|
-
"--color": "--
|
|
48
|
-
"_hide": "
|
|
49
|
-
"_active": "
|
|
44
|
+
"__SDot": "___SDot_1gsnq_gg_",
|
|
45
|
+
"--duration": "--duration_1hsdugh",
|
|
46
|
+
"_color": "__color_1gsnq_gg_",
|
|
47
|
+
"--color": "--color_1hsdugh",
|
|
48
|
+
"_hide": "__hide_1gsnq_gg_",
|
|
49
|
+
"_active": "__active_1gsnq_gg_"
|
|
50
50
|
});
|
|
51
51
|
|
|
52
52
|
function Dots(props) {
|
|
@@ -98,7 +98,7 @@ function Dots(props) {
|
|
|
98
98
|
unsubscribeMouseLeaveRoot();
|
|
99
99
|
};
|
|
100
100
|
}, [eventEmitter, data, x, y]);
|
|
101
|
-
var renderCircle = (0, _react.useCallback)(
|
|
101
|
+
var renderCircle = (0, _react.useCallback)(_react["default"].forwardRef(function (props, ref) {
|
|
102
102
|
return /*#__PURE__*/_react["default"].createElement(_animation.FadeInOut, (0, _extends2["default"])({
|
|
103
103
|
ref: ref,
|
|
104
104
|
tag: "circle"
|
package/lib/cjs/Dots.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Dots.jsx"],"names":["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","React","forwardRef","ref","reduce","acc","i","isPrev","defined","isNext","active","push","style"],"mappings":";;;;;;;;;;;;;;;AAEA;;AAFA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAASA,IAAT,CAAcC,KAAd,EAAqB;AACnB,MACWC,IADX,GAcID,KAdJ,CACEE,OADF;AAAA,MAEEC,MAFF,GAcIH,KAdJ,CAEEG,MAFF;AAAA,MAGEC,IAHF,GAcIJ,KAdJ,CAGEI,IAHF;AAAA,MAIEC,KAJF,GAcIL,KAdJ,CAIEK,KAJF;AAAA,MAKEC,EALF,GAcIN,KAdJ,CAKEM,EALF;AAAA,MAMEC,CANF,GAcIP,KAdJ,CAMEO,CANF;AAAA,MAOEC,CAPF,GAcIR,KAdJ,CAOEQ,CAPF;AAAA,MAQEC,YARF,GAcIT,KAdJ,CAQES,YARF;AAAA,MASEC,OATF,GAcIV,KAdJ,CASEU,OATF;AAAA,MAUEC,IAVF,GAcIX,KAdJ,CAUEW,IAVF;AAAA,MAWEC,OAXF,GAcIZ,KAdJ,CAWEY,OAXF;AAAA,MAYEC,KAZF,GAcIb,KAdJ,CAYEa,KAZF;AAAA,wBAcIb,KAdJ,CAaEc,QAbF;AAAA,MAaEA,QAbF,gCAaa,GAbb;AAeA,MAAMC,MAAM,GAAG,uBAAS,UAACC,CAAD;AAAA,WAAOA,CAAC,CAACT,CAAD,CAAR;AAAA,GAAT,EAAsBU,MAArC;;AACA,kBAAsC,qBAAS,IAAT,CAAtC;AAAA;AAAA,MAAOC,WAAP;AAAA,MAAoBC,cAApB;;AAEA,MAAMC,oBAAoB,GAAG,wBAC3B,4BAAQ,UAACC,CAAD,EAAO;AACb,iDAAiBR,KAAjB;AAAA,QAAOS,MAAP;;AACA,wBAAa,yBAAaD,CAAb,EAAgBT,OAAO,CAACW,OAAxB,CAAb;AAAA;AAAA,QAAOC,EAAP;;AACA,QAAMC,EAAE,GAAG,mBAAOH,MAAP,EAAeE,EAAf,CAAX;AACAL,IAAAA,cAAc,CAACJ,MAAM,CAACX,IAAD,EAAOqB,EAAP,CAAP,CAAd;AACD,GALD,CAD2B,EAO3B,CAACZ,KAAD,EAAQT,IAAR,CAP2B,CAA7B;AAUA,MAAMsB,qBAAqB,GAAG,wBAC5B,4BAAQ,YAAM;AACZP,IAAAA,cAAc,CAAC,IAAD,CAAd;AACD,GAFD,CAD4B,EAI5B,EAJ4B,CAA9B;AAOA,wBAAU,YAAM;AACd,QAAMQ,wBAAwB,GAAGlB,YAAY,CAACmB,SAAb,CAAuB,kBAAvB,EAA2C,UAACP,CAAD,EAAO;AACjFA,MAAAA,CAAC,CAACQ,OAAF;AACAT,MAAAA,oBAAoB,CAACC,CAAD,CAApB;AACD,KAHgC,CAAjC;AAKA,QAAMS,yBAAyB,GAAGrB,YAAY,CAACmB,SAAb,CAChC,mBADgC,EAEhCF,qBAFgC,CAAlC;AAKA,WAAO,YAAM;AACXC,MAAAA,wBAAwB;AACxBG,MAAAA,yBAAyB;AAC1B,KAHD;AAID,GAfD,EAeG,CAACrB,YAAD,EAAeL,IAAf,EAAqBG,CAArB,EAAwBC,CAAxB,CAfH;AAiBA,MAAMuB,YAAY,GAAG,
|
|
1
|
+
{"version":3,"sources":["../../src/Dots.jsx"],"names":["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","React","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/cjs/GroupBar.js
CHANGED
|
@@ -42,15 +42,15 @@ var _ref = (
|
|
|
42
42
|
/*__reshadow_css_start__*/
|
|
43
43
|
(0, _core.__css__)(
|
|
44
44
|
/*__inner_css_start__*/
|
|
45
|
-
".
|
|
45
|
+
".___SBar_5nave_gg_{fill:#2bb3ff;transition-property:height,width,y;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SBar_5nave_gg_.__color_5nave_gg_{fill:var(--color)}.___SBar_5nave_gg_.__hide_5nave_gg_{display:none}.___SBackground_5nave_gg_{fill:#c4c7cf}"
|
|
46
46
|
/*__inner_css_end__*/
|
|
47
|
-
, "
|
|
47
|
+
, "1o57xqa_gg_")
|
|
48
48
|
/*__reshadow_css_end__*/
|
|
49
49
|
, {
|
|
50
|
-
"__SBar": "
|
|
51
|
-
"_color": "
|
|
52
|
-
"_hide": "
|
|
53
|
-
"__SBackground": "
|
|
50
|
+
"__SBar": "___SBar_5nave_gg_",
|
|
51
|
+
"_color": "__color_5nave_gg_",
|
|
52
|
+
"_hide": "__hide_5nave_gg_",
|
|
53
|
+
"__SBackground": "___SBackground_5nave_gg_"
|
|
54
54
|
}),
|
|
55
55
|
style = (0, _extends2["default"])({}, _ref);
|
|
56
56
|
|
|
@@ -77,11 +77,11 @@ var GroupBarRoot = /*#__PURE__*/function (_Component) {
|
|
|
77
77
|
if (scaleGroup) return scaleGroup;
|
|
78
78
|
|
|
79
79
|
var domain = _react["default"].Children.toArray((0, _getOriginChildren["default"])(Children)).reduce(function (acc, child) {
|
|
80
|
-
if (
|
|
80
|
+
if (_react["default"].isValidElement(child) && child.type === GroupBar.Bar && !child.props.hide) {
|
|
81
81
|
acc.push(child.props.y);
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
if (
|
|
84
|
+
if (_react["default"].isValidElement(child) && child.type === GroupBar.HorizontalBar && !child.props.hide) {
|
|
85
85
|
acc.push(child.props.x);
|
|
86
86
|
}
|
|
87
87
|
|
package/lib/cjs/GroupBar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/GroupBar.jsx"],"names":["GroupBarRoot","asProps","Children","scale","scaleGroup","x","xyScale","domain","React","toArray","reduce","acc","child","isValidElement","type","GroupBar","Bar","props","hide","push","y","HorizontalBar","copy","range","bandwidth","paddingInner","paddingOuter","offset","width","height","Element","getScaleGroup","Component","style"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;IAIMA,Y;;;;;;;;;;;;WAKJ,yBAAgB;AACd,0BAA2C,KAAKC,OAAhD;AAAA,UAAQC,QAAR,iBAAQA,QAAR;AAAA,UAAkBC,KAAlB,iBAAkBA,KAAlB;AAAA,UAAyBC,UAAzB,iBAAyBA,UAAzB;AAAA,UAAqCC,CAArC,iBAAqCA,CAArC,CADc,CAEd;;AACA,UAAMC,OAAO,GAAGD,CAAC,GAAGF,KAAK,CAAC,CAAD,CAAR,GAAcA,KAAK,CAAC,CAAD,CAApC;AAEA,UAAIC,UAAJ,EAAgB,OAAOA,UAAP;;AAEhB,UAAMG,MAAM,GAAGC,kBAAMN,QAAN,CAAeO,OAAf,CAAuB,mCAAkBP,QAAlB,CAAvB,EAAoDQ,MAApD,CAA2D,UAACC,GAAD,EAAMC,KAAN,EAAgB;AACxF,
|
|
1
|
+
{"version":3,"sources":["../../src/GroupBar.jsx"],"names":["GroupBarRoot","asProps","Children","scale","scaleGroup","x","xyScale","domain","React","toArray","reduce","acc","child","isValidElement","type","GroupBar","Bar","props","hide","push","y","HorizontalBar","copy","range","bandwidth","paddingInner","paddingOuter","offset","width","height","Element","getScaleGroup","Component","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/cjs/HorizontalBar.js
CHANGED
|
@@ -42,17 +42,17 @@ var style = (
|
|
|
42
42
|
/*__reshadow_css_start__*/
|
|
43
43
|
_core.sstyled.insert(
|
|
44
44
|
/*__inner_css_start__*/
|
|
45
|
-
".
|
|
45
|
+
".___SBar_1fm2a_gg_{fill:#2bb3ff;transition-property:height,width,y;transition-duration:var(--duration_1iw4ich);transition-timing-function:ease-in-out}.___SBar_1fm2a_gg_.__color_1fm2a_gg_{fill:var(--color_1iw4ich)}.___SBar_1fm2a_gg_.__hide_1fm2a_gg_{display:none}.___SBackground_1fm2a_gg_{fill:#c4c7cf}"
|
|
46
46
|
/*__inner_css_end__*/
|
|
47
|
-
, "
|
|
47
|
+
, "1iw4ich_gg_")
|
|
48
48
|
/*__reshadow_css_end__*/
|
|
49
49
|
, {
|
|
50
|
-
"__SBar": "
|
|
51
|
-
"--duration": "--
|
|
52
|
-
"_color": "
|
|
53
|
-
"--color": "--
|
|
54
|
-
"_hide": "
|
|
55
|
-
"__SBackground": "
|
|
50
|
+
"__SBar": "___SBar_1fm2a_gg_",
|
|
51
|
+
"--duration": "--duration_1iw4ich",
|
|
52
|
+
"_color": "__color_1fm2a_gg_",
|
|
53
|
+
"--color": "--color_1iw4ich",
|
|
54
|
+
"_hide": "__hide_1fm2a_gg_",
|
|
55
|
+
"__SBackground": "___SBackground_1fm2a_gg_"
|
|
56
56
|
});
|
|
57
57
|
|
|
58
58
|
var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
|
|
@@ -78,7 +78,7 @@ var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
|
|
|
78
78
|
}, {
|
|
79
79
|
key: "renderBar",
|
|
80
80
|
value: function renderBar(d, i) {
|
|
81
|
-
var _ref
|
|
81
|
+
var _ref;
|
|
82
82
|
|
|
83
83
|
var SBar = this.Element;
|
|
84
84
|
var _this$asProps2 = this.asProps,
|
|
@@ -102,9 +102,9 @@ var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
|
|
|
102
102
|
yScale = _scale[1];
|
|
103
103
|
|
|
104
104
|
var barY = yScale(d[y]) + offset[1];
|
|
105
|
-
var barX = xScale(Math.min(
|
|
105
|
+
var barX = xScale(Math.min(d[x0] ?? 0, d[x])) + offset[0];
|
|
106
106
|
var height = heightProps || (0, _utils.getBandwidth)(yScale);
|
|
107
|
-
var width = Math.abs(xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(
|
|
107
|
+
var width = Math.abs(xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[x0] ?? 0)));
|
|
108
108
|
var dSvg = getHorizontalRect({
|
|
109
109
|
x: barX,
|
|
110
110
|
y: barY,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/HorizontalBar.jsx"],"names":["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","Component","style","Background","SBackground","xRange","range","bandwidth"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA;;AADA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;IAIMA,iB;;;;;;;;;;;;WAWJ,4BAAmBC,KAAnB,EAA0BC,KAA1B,EAAiC;AAC/B,0BAAoB,KAAKC,OAAzB;AAAA,UAAQC,IAAR,iBAAQA,IAAR;AAAA,UAAcC,CAAd,iBAAcA,CAAd;AACA,aAAO;AACLC,QAAAA,KAAK,EAAEF,IAAI,CAACF,KAAD,CAAJ,CAAYG,CAAZ;AADF,OAAP;AAGD;;;WAED,mBAAUE,CAAV,EAAaC,CAAb,EAAgB;AAAA;;AACd,UAAMC,IAAI,GAAG,KAAKC,OAAlB;AACA,2BAeI,KAAKP,OAfT;AAAA,UACEQ,MADF,kBACEA,MADF;AAAA,UAEEC,KAFF,kBAEEA,KAFF;AAAA,UAGEC,CAHF,kBAGEA,CAHF;AAAA,UAIEC,EAJF,kBAIEA,EAJF;AAAA,UAKET,CALF,kBAKEA,CALF;AAAA,UAMEU,KANF,kBAMEA,KANF;AAAA,UAOEC,IAPF,kBAOEA,IAPF;AAAA,UAQEC,MARF,kBAQEA,MARF;AAAA,UASEC,GATF,kBASEA,GATF;AAAA,UAUEC,QAVF,kBAUEA,QAVF;AAAA,UAWEC,CAXF,kBAWEA,CAXF;AAAA,UAYUC,WAZV,kBAYEC,MAZF;AAAA,UAaEC,WAbF,kBAaEA,WAbF;AAAA,UAcEC,YAdF,kBAcEA,YAdF;;AAiBA,mDAAyBT,KAAzB;AAAA,UAAOU,MAAP;AAAA,UAAeC,MAAf;;AACA,UAAMC,IAAI,GAAGD,MAAM,CAACnB,CAAC,CAACF,CAAD,CAAF,CAAN,GAAeY,MAAM,CAAC,CAAD,CAAlC;AACA,UAAMW,IAAI,GAAGH,MAAM,CAACI,IAAI,CAACC,GAAL,
|
|
1
|
+
{"version":3,"sources":["../../src/HorizontalBar.jsx"],"names":["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","Component","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/cjs/Hover.js
CHANGED
|
@@ -44,13 +44,13 @@ var style = (
|
|
|
44
44
|
/*__reshadow_css_start__*/
|
|
45
45
|
_core.sstyled.insert(
|
|
46
46
|
/*__inner_css_start__*/
|
|
47
|
-
".
|
|
47
|
+
".___SHoverLine_1x76j_gg_{stroke:#a9abb6}.___SHoverRect_1x76j_gg_{fill:rgba(196,199,207,.3)}"
|
|
48
48
|
/*__inner_css_end__*/
|
|
49
|
-
, "
|
|
49
|
+
, "8ax2kr_gg_")
|
|
50
50
|
/*__reshadow_css_end__*/
|
|
51
51
|
, {
|
|
52
|
-
"__SHoverLine": "
|
|
53
|
-
"__SHoverRect": "
|
|
52
|
+
"__SHoverLine": "___SHoverLine_1x76j_gg_",
|
|
53
|
+
"__SHoverRect": "___SHoverRect_1x76j_gg_"
|
|
54
54
|
});
|
|
55
55
|
|
|
56
56
|
var Hover = /*#__PURE__*/function (_Component) {
|
package/lib/cjs/Line.js
CHANGED
|
@@ -46,17 +46,17 @@ var style = (
|
|
|
46
46
|
/*__reshadow_css_start__*/
|
|
47
47
|
_core.sstyled.insert(
|
|
48
48
|
/*__inner_css_start__*/
|
|
49
|
-
".
|
|
49
|
+
".___SLine_gt0it_gg_{fill:transparent;stroke-width:3;stroke:#2bb3ff;transition-property:d;transition-duration:var(--duration_xmj8r);transition-timing-function:ease-in-out}.___SLine_gt0it_gg_.__color_gt0it_gg_{stroke:var(--color_xmj8r)}.___SLine_gt0it_gg_.__hide_gt0it_gg_{display:none}.___SNull_gt0it_gg_{fill:transparent;stroke:#c4c7cf;stroke-dasharray:4}.___SNull_gt0it_gg_.__hide_gt0it_gg_{display:none}"
|
|
50
50
|
/*__inner_css_end__*/
|
|
51
|
-
, "
|
|
51
|
+
, "xmj8r_gg_")
|
|
52
52
|
/*__reshadow_css_end__*/
|
|
53
53
|
, {
|
|
54
|
-
"__SLine": "
|
|
55
|
-
"--duration": "--
|
|
56
|
-
"_color": "
|
|
57
|
-
"--color": "--
|
|
58
|
-
"_hide": "
|
|
59
|
-
"__SNull": "
|
|
54
|
+
"__SLine": "___SLine_gt0it_gg_",
|
|
55
|
+
"--duration": "--duration_xmj8r",
|
|
56
|
+
"_color": "__color_gt0it_gg_",
|
|
57
|
+
"--color": "--color_xmj8r",
|
|
58
|
+
"_hide": "__hide_gt0it_gg_",
|
|
59
|
+
"__SNull": "___SNull_gt0it_gg_"
|
|
60
60
|
});
|
|
61
61
|
|
|
62
62
|
var LineRoot = /*#__PURE__*/function (_Component) {
|
package/lib/cjs/Plot.js
CHANGED
|
@@ -47,6 +47,19 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
47
47
|
|
|
48
48
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
49
49
|
|
|
50
|
+
/*__reshadow-styles__:"./style/plot.shadow.css"*/
|
|
51
|
+
var style = (
|
|
52
|
+
/*__reshadow_css_start__*/
|
|
53
|
+
_core.sstyled.insert(
|
|
54
|
+
/*__inner_css_start__*/
|
|
55
|
+
".___SPlot_11q0k_gg_{overflow:hidden}"
|
|
56
|
+
/*__inner_css_end__*/
|
|
57
|
+
, "dvrka4_gg_")
|
|
58
|
+
/*__reshadow_css_end__*/
|
|
59
|
+
, {
|
|
60
|
+
"__SPlot": "___SPlot_11q0k_gg_"
|
|
61
|
+
});
|
|
62
|
+
|
|
50
63
|
var PlotRoot = /*#__PURE__*/function (_Component) {
|
|
51
64
|
(0, _inherits2["default"])(PlotRoot, _Component);
|
|
52
65
|
|
|
@@ -57,7 +70,7 @@ var PlotRoot = /*#__PURE__*/function (_Component) {
|
|
|
57
70
|
|
|
58
71
|
(0, _classCallCheck2["default"])(this, PlotRoot);
|
|
59
72
|
_this = _super.call(this, props);
|
|
60
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "rootRef",
|
|
73
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "rootRef", _react["default"].createRef());
|
|
61
74
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handlerMouseMove", function (e) {
|
|
62
75
|
var scale = _this.asProps.scale;
|
|
63
76
|
|
|
@@ -142,6 +155,7 @@ var PlotRoot = /*#__PURE__*/function (_Component) {
|
|
|
142
155
|
}(_core.Component);
|
|
143
156
|
|
|
144
157
|
(0, _defineProperty2["default"])(PlotRoot, "displayName", 'Plot');
|
|
158
|
+
(0, _defineProperty2["default"])(PlotRoot, "style", style);
|
|
145
159
|
(0, _defineProperty2["default"])(PlotRoot, "defaultProps", function () {
|
|
146
160
|
return {
|
|
147
161
|
width: 0,
|
package/lib/cjs/Plot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Plot.jsx"],"names":["PlotRoot","props","React","createRef","e","scale","asProps","eventEmitter","emit","xScale","yScale","rootRef","current","pX","pY","range","minX","maxX","maxY","minY","EventEmitter","data","width","height","$rootProps","size","SPlot","Box","styles","handlerMouseMove","handlerMouseLeave","Component"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AADA;;AAEA;;AACA;;AACA
|
|
1
|
+
{"version":3,"sources":["../../src/Plot.jsx"],"names":["PlotRoot","props","React","createRef","e","scale","asProps","eventEmitter","emit","xScale","yScale","rootRef","current","pX","pY","range","minX","maxX","maxY","minY","EventEmitter","data","width","height","$rootProps","size","SPlot","Box","styles","handlerMouseMove","handlerMouseLeave","Component","style"],"mappings":"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","sourcesContent":["import React from 'react';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport EventEmitter from '@semcore/utils/lib/eventEmitter';\nimport { eventToPoint } from './utils';\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"],"file":"Plot.js"}
|