@semcore/d3-chart 2.17.5 → 3.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -2
- package/lib/cjs/Area.js +9 -9
- package/lib/cjs/Axis.js +14 -14
- package/lib/cjs/Bar.js +11 -10
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Bubble.js +18 -13
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/Donut.js +10 -8
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +9 -9
- package/lib/cjs/HorizontalBar.js +11 -10
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Hover.js +33 -11
- package/lib/cjs/Hover.js.map +1 -1
- package/lib/cjs/Line.js +8 -8
- package/lib/cjs/Plot.js +3 -3
- package/lib/cjs/Radar.js +82 -71
- package/lib/cjs/Radar.js.map +1 -1
- package/lib/cjs/RadialTree.js +92 -74
- package/lib/cjs/RadialTree.js.map +1 -1
- package/lib/cjs/ReferenceLine.js +9 -9
- package/lib/cjs/ResponsiveContainer.js +1 -2
- package/lib/cjs/ResponsiveContainer.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +15 -10
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/Tooltip.js +8 -8
- package/lib/cjs/Venn.js +10 -8
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yModule.js +2 -2
- package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yView.js +3 -3
- package/lib/cjs/a11y/hints.js.map +1 -1
- package/lib/cjs/a11y/serialize.js.map +1 -1
- package/lib/cjs/createElement.d.js +2 -0
- package/lib/cjs/createElement.d.js.map +1 -0
- package/lib/cjs/types/Area.d.js.map +1 -1
- package/lib/cjs/types/Axis.d.js.map +1 -1
- package/lib/cjs/types/Bar.d.js.map +1 -1
- package/lib/cjs/types/Bubble.d.js.map +1 -1
- package/lib/cjs/types/ClipPath.d.js.map +1 -1
- package/lib/cjs/types/Donut.d.js.map +1 -1
- package/lib/cjs/types/GroupBar.d.js.map +1 -1
- package/lib/cjs/types/HorizontalBar.d.js.map +1 -1
- package/lib/cjs/types/Hover.d.js.map +1 -1
- package/lib/cjs/types/Line.d.js.map +1 -1
- package/lib/cjs/types/Plot.d.js +0 -2
- package/lib/cjs/types/Plot.d.js.map +1 -1
- package/lib/cjs/types/Radar.d.js +2 -0
- package/lib/cjs/types/Radar.d.js.map +1 -0
- package/lib/cjs/types/ReferenceLine.d.js.map +1 -1
- package/lib/cjs/types/ResponsiveContainer.d.js.map +1 -1
- package/lib/cjs/types/ScatterPlot.d.js.map +1 -1
- package/lib/cjs/types/StackBar.d.js.map +1 -1
- package/lib/cjs/types/StackedArea.d.js.map +1 -1
- package/lib/cjs/types/Tooltip.d.js.map +1 -1
- package/lib/cjs/types/Venn.d.js.map +1 -1
- package/lib/cjs/types/context.d.js.map +1 -1
- package/lib/cjs/types/index.d.js.map +1 -1
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Area.js +9 -9
- package/lib/es6/Axis.js +14 -14
- package/lib/es6/Bar.js +11 -10
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Bubble.js +18 -13
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/Donut.js +10 -8
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +9 -9
- package/lib/es6/HorizontalBar.js +11 -10
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Hover.js +36 -12
- package/lib/es6/Hover.js.map +1 -1
- package/lib/es6/Line.js +8 -8
- package/lib/es6/Plot.js +3 -3
- package/lib/es6/Radar.js +84 -72
- package/lib/es6/Radar.js.map +1 -1
- package/lib/es6/RadialTree.js +90 -72
- package/lib/es6/RadialTree.js.map +1 -1
- package/lib/es6/ReferenceLine.js +9 -9
- package/lib/es6/ResponsiveContainer.js +0 -1
- package/lib/es6/ResponsiveContainer.js.map +1 -1
- package/lib/es6/ScatterPlot.js +15 -10
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/Tooltip.js +8 -8
- package/lib/es6/Venn.js +10 -8
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/a11y/PlotA11yModule.js +2 -2
- package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
- package/lib/es6/a11y/PlotA11yView.js +3 -3
- package/lib/es6/a11y/hints.js.map +1 -1
- package/lib/es6/a11y/serialize.js.map +1 -1
- package/lib/es6/createElement.d.js +2 -0
- package/lib/es6/createElement.d.js.map +1 -0
- package/lib/es6/types/Area.d.js.map +1 -1
- package/lib/es6/types/Axis.d.js.map +1 -1
- package/lib/es6/types/Bar.d.js.map +1 -1
- package/lib/es6/types/Bubble.d.js.map +1 -1
- package/lib/es6/types/ClipPath.d.js.map +1 -1
- package/lib/es6/types/Donut.d.js.map +1 -1
- package/lib/es6/types/GroupBar.d.js.map +1 -1
- package/lib/es6/types/HorizontalBar.d.js.map +1 -1
- package/lib/es6/types/Hover.d.js.map +1 -1
- package/lib/es6/types/Line.d.js.map +1 -1
- package/lib/es6/types/Plot.d.js +1 -1
- package/lib/es6/types/Plot.d.js.map +1 -1
- package/lib/es6/types/Radar.d.js +2 -0
- package/lib/es6/types/Radar.d.js.map +1 -0
- package/lib/es6/types/ReferenceLine.d.js.map +1 -1
- package/lib/es6/types/ResponsiveContainer.d.js.map +1 -1
- package/lib/es6/types/ScatterPlot.d.js.map +1 -1
- package/lib/es6/types/StackBar.d.js.map +1 -1
- package/lib/es6/types/StackedArea.d.js.map +1 -1
- package/lib/es6/types/Tooltip.d.js.map +1 -1
- package/lib/es6/types/Venn.d.js.map +1 -1
- package/lib/es6/types/context.d.js.map +1 -1
- package/lib/es6/types/index.d.js +3 -0
- package/lib/es6/types/index.d.js.map +1 -1
- package/lib/es6/utils.js.map +1 -1
- package/lib/types/Area.d.ts +26 -17
- package/lib/types/Axis.d.ts +40 -23
- package/lib/types/Bar.d.ts +32 -16
- package/lib/types/Bubble.d.ts +30 -12
- package/lib/types/ClipPath.d.ts +7 -5
- package/lib/types/Donut.d.ts +29 -13
- package/lib/types/GroupBar.d.ts +15 -12
- package/lib/types/HorizontalBar.d.ts +12 -12
- package/lib/types/Hover.d.ts +32 -8
- package/lib/types/Line.d.ts +33 -23
- package/lib/types/Plot.d.ts +34 -22
- package/lib/types/Radar.d.ts +145 -0
- package/lib/types/RadialTree.d.ts +53 -28
- package/lib/types/ReferenceLine.d.ts +27 -14
- package/lib/types/ResponsiveContainer.d.ts +18 -10
- package/lib/types/ScatterPlot.d.ts +25 -9
- package/lib/types/StackBar.d.ts +20 -14
- package/lib/types/StackedArea.d.ts +16 -12
- package/lib/types/Tooltip.d.ts +55 -23
- package/lib/types/Venn.d.ts +47 -29
- package/lib/types/a11y/PlotA11yModule.d.ts +1 -1
- package/lib/types/a11y/focus.d.ts +1 -1
- package/lib/types/a11y/hints.d.ts +5 -5
- package/lib/types/a11y/insights.d.ts +8 -8
- package/lib/types/a11y/intl.d.ts +1 -1
- package/lib/types/a11y/locale.d.ts +1 -1
- package/lib/types/a11y/serialize.d.ts +4 -4
- package/lib/types/a11y/summarize.d.ts +1 -1
- package/lib/types/context.d.ts +10 -0
- package/lib/types/createElement.d.ts +2 -0
- package/lib/types/index.d.ts +2 -0
- package/lib/types/utils.d.ts +10 -7
- package/package.json +10 -10
- package/lib/cjs/types/Radar.js +0 -2
- package/lib/cjs/types/Radar.js.map +0 -1
- package/lib/es6/types/Radar.js +0 -2
- package/lib/es6/types/Radar.js.map +0 -1
- package/lib/types/types/Radar.d.ts +0 -95
package/lib/es6/Bar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bar.js","names":["React","transition","Component","sstyled","uniqueIDEnhancement","createElement","ClipPath","getBandwidth","roundedPath","style","_sstyled","insert","MIN_HEIGHT","calcPartBarY","y","minHeight","height","Object","is","BarRoot","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","getBackgroundProps","props","index","_this$asProps","asProps","x","data","animationBar","_this$asProps2","duration","uid","selectRect","selection","selectAll","concat","selectRectNode","node","getAttribute","attr","componentDidUpdate","componentDidMount","renderBar","d","i","_ref","_d$y","_d$y2","_d$y3","SBar","Element","_this$asProps3","styles","color","y0","scale","hide","offsetProps","offset","r","hMin","widthProps","width","groupKey","onClick","transparent","_scale","_slicedToArray","xScale","yScale","absHeight","Math","abs","min","domain","Number","max","barX","barY","handleClick","event","dSvg","getRect","radius","Array","isArray","position","dataHintsHandler","describeGroupedValues","describeValueEntity","cn","render","_this$asProps4","size","Fragment","map","bind","id","_defineProperty","Background","_ref2","SBackground","_scale2","yRange","range","bandwidth","_ref3"],"sources":["../../src/Bar.jsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\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\nexport const MIN_HEIGHT = 2;\n\nconst calcPartBarY = (y, minHeight, height) => {\n // need for the correct rendering of negative values (bar should be under Y-axis)\n if (y <= 0) {\n return Object.is(y, 0) ? minHeight : 0;\n }\n // need for the correct rendering of the minimum positive values\n return height <= minHeight ? minHeight : 0;\n};\n\nclass BarRoot extends Component {\n static displayName = 'Bar';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n r: 2,\n hMin: MIN_HEIGHT,\n };\n\n getBackgroundProps(props, index) {\n const { x, data } = this.asProps;\n return {\n value: data[index][x],\n };\n }\n\n animationBar() {\n const { duration, uid } = this.asProps;\n const selectRect = transition().selection().selectAll(`#${uid} rect`);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode && selectRectNode.getAttribute('y') !== '0') {\n selectRect.transition().duration(duration).attr('y', 0);\n }\n }\n\n componentDidUpdate() {\n this.animationBar();\n }\n\n componentDidMount() {\n this.animationBar();\n }\n\n renderBar(d, i) {\n const SBar = this.Element;\n const {\n styles,\n color,\n x,\n y,\n y0,\n scale,\n hide,\n offset: offsetProps,\n duration,\n uid,\n r,\n hMin,\n width: widthProps,\n groupKey,\n onClick,\n transparent,\n } = this.asProps;\n const offset = typeof offsetProps === 'function' ? offsetProps(i) : offsetProps;\n const [xScale, yScale] = scale;\n const absHeight = Math.abs(\n yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[y0] ?? 0)),\n );\n const height = Number(d[y] - (d[y0] ?? 0)) === 0 ? 0 : Math.max(absHeight, hMin);\n const width = widthProps || getBandwidth(xScale);\n const barX = xScale(d[x]) + offset[0];\n const barY =\n yScale(Math.max(d[y0] ?? 0, height <= hMin && d[y] > 0 ? 0 : d[y])) +\n offset[1] -\n calcPartBarY(d[y], hMin, height);\n const handleClick = (event) => onClick?.(d, event);\n const dSvg = getRect({\n x: barX,\n y: barY,\n width,\n height,\n radius: Array.isArray(r) ? r[i] : r,\n position: d[y] > 0 || Object.is(d[y], 0) ? 'top' : 'bottom',\n });\n\n if (groupKey) {\n this.asProps.dataHintsHandler.describeGroupedValues(groupKey, y);\n } else {\n this.asProps.dataHintsHandler.describeValueEntity(`${i}.${y}`, groupKey ?? d[x]);\n }\n\n return sstyled(styles)(\n <SBar\n aria-hidden\n key={`bar-${i}`}\n render='path'\n clipPath={`url(#${uid})`}\n __excludeProps={['data', 'scale', 'value', 'onClick', 'offset']}\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 onClickCapture={handleClick}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />,\n );\n }\n render() {\n const { data, uid, size, duration } = this.asProps;\n return (\n <>\n {data.map(this.renderBar.bind(this))}\n {duration && (\n <ClipPath\n aria-hidden\n key={`${uid}-animation`}\n id={uid}\n x='0'\n y={size[1]}\n width={size[0]}\n height={`${size[1]}px`}\n />\n )}\n </>\n );\n }\n}\n\nfunction Background(props) {\n const { Element: SBackground, styles, scale, value } = props;\n\n const [xScale, yScale] = scale;\n const yRange = yScale.range();\n\n return sstyled(styles)(\n <SBackground\n aria-hidden\n render='rect'\n childrenPosition='above'\n width={xScale.bandwidth()}\n height={yRange[0] - yRange[1]}\n x={xScale(value)}\n y={yRange[1]}\n />,\n );\n}\n\nfunction getRect({ x, y, width, height, radius, position }) {\n if (height < radius) radius = height;\n if (radius) {\n if (position === 'top')\n return roundedPath(x, y, width, height, radius, true, true, false, false);\n return roundedPath(x, y, width, height, radius, false, false, true, true);\n }\n return roundedPath(x, y, width, height, radius);\n}\n\nexport default createElement(BarRoot, { Background });\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Bar.js","names":["React","transition","Component","sstyled","uniqueIDEnhancement","createElement","ClipPath","getBandwidth","roundedPath","style","_sstyled","insert","MIN_HEIGHT","calcPartBarY","y","minHeight","height","Object","is","BarRoot","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","getBackgroundProps","_props","index","_this$asProps","asProps","x","data","animationBar","_this$asProps2","duration","uid","selectRect","selection","selectAll","concat","selectRectNode","node","getAttribute","attr","componentDidUpdate","componentDidMount","renderBar","d","i","_ref","_d$y","_d$y2","_d$y3","SBar","Element","_this$asProps3","styles","color","y0","scale","hide","offsetProps","offset","r","hMin","widthProps","width","groupKey","onClick","transparent","_scale","_slicedToArray","xScale","yScale","absHeight","Math","abs","min","domain","Number","max","barX","barY","handleClick","event","dSvg","getRect","radius","Array","isArray","position","dataHintsHandler","describeGroupedValues","describeValueEntity","cn","render","_this$asProps4","size","Fragment","map","bind","id","_defineProperty","Background","props","_ref2","SBackground","_scale2","yRange","range","bandwidth","_ref3"],"sources":["../../src/Bar.jsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\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\nexport const MIN_HEIGHT = 2;\n\nconst calcPartBarY = (y, minHeight, height) => {\n // need for the correct rendering of negative values (bar should be under Y-axis)\n if (y <= 0) {\n return Object.is(y, 0) ? minHeight : 0;\n }\n // need for the correct rendering of the minimum positive values\n return height <= minHeight ? minHeight : 0;\n};\n\nclass BarRoot extends Component {\n static displayName = 'Bar';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n r: 2,\n hMin: MIN_HEIGHT,\n };\n\n getBackgroundProps(_props, index) {\n const { x, data } = this.asProps;\n return {\n value: data[index][x],\n index,\n };\n }\n\n animationBar() {\n const { duration, uid } = this.asProps;\n const selectRect = transition().selection().selectAll(`#${uid} rect`);\n const selectRectNode = selectRect.node();\n\n if (duration > 0 && selectRectNode && selectRectNode.getAttribute('y') !== '0') {\n selectRect.transition().duration(duration).attr('y', 0);\n }\n }\n\n componentDidUpdate() {\n this.animationBar();\n }\n\n componentDidMount() {\n this.animationBar();\n }\n\n renderBar(d, i) {\n const SBar = this.Element;\n const {\n styles,\n color,\n x,\n y,\n y0,\n scale,\n hide,\n offset: offsetProps,\n duration,\n uid,\n r,\n hMin,\n width: widthProps,\n groupKey,\n onClick,\n transparent,\n } = this.asProps;\n const offset = typeof offsetProps === 'function' ? offsetProps(i) : offsetProps;\n const [xScale, yScale] = scale;\n const absHeight = Math.abs(\n yScale(d[y]) - Math.min(yScale(yScale.domain()[0]), yScale(d[y0] ?? 0)),\n );\n const height = Number(d[y] - (d[y0] ?? 0)) === 0 ? 0 : Math.max(absHeight, hMin);\n const width = widthProps || getBandwidth(xScale);\n const barX = xScale(d[x]) + offset[0];\n const barY =\n yScale(Math.max(d[y0] ?? 0, height <= hMin && d[y] > 0 ? 0 : d[y])) +\n offset[1] -\n calcPartBarY(d[y], hMin, height);\n const handleClick = (event) => onClick?.(d, event);\n const dSvg = getRect({\n x: barX,\n y: barY,\n width,\n height,\n radius: Array.isArray(r) ? r[i] : r,\n position: d[y] > 0 || Object.is(d[y], 0) ? 'top' : 'bottom',\n });\n\n if (groupKey) {\n this.asProps.dataHintsHandler.describeGroupedValues(groupKey, y);\n } else {\n this.asProps.dataHintsHandler.describeValueEntity(`${i}.${y}`, groupKey ?? d[x]);\n }\n\n return sstyled(styles)(\n <SBar\n aria-hidden\n key={`bar-${i}`}\n render='path'\n clipPath={`url(#${uid})`}\n __excludeProps={['data', 'scale', 'value', 'onClick', 'offset']}\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 onClickCapture={handleClick}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />,\n );\n }\n render() {\n const { data, uid, size, duration } = this.asProps;\n return (\n <>\n {data.map(this.renderBar.bind(this))}\n {duration && (\n <ClipPath\n aria-hidden\n key={`${uid}-animation`}\n id={uid}\n x='0'\n y={size[1]}\n width={size[0]}\n height={`${size[1]}px`}\n />\n )}\n </>\n );\n }\n}\n\nfunction Background(props) {\n const { Element: SBackground, styles, scale, value } = props;\n\n const [xScale, yScale] = scale;\n const yRange = yScale.range();\n\n return sstyled(styles)(\n <SBackground\n aria-hidden\n render='rect'\n childrenPosition='above'\n width={xScale.bandwidth()}\n height={yRange[0] - yRange[1]}\n x={xScale(value)}\n y={yRange[1]}\n />,\n );\n}\n\nfunction getRect({ x, y, width, height, radius, position }) {\n if (height < radius) radius = height;\n if (radius) {\n if (position === 'top')\n return roundedPath(x, y, width, height, radius, true, true, false, false);\n return roundedPath(x, y, width, height, radius, false, false, true, true);\n }\n return roundedPath(x, y, width, height, radius);\n}\n\nexport default createElement(BarRoot, { Background });\n"],"mappings":"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"}
|
package/lib/es6/Bubble.js
CHANGED
|
@@ -17,17 +17,18 @@ import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
|
|
|
17
17
|
import createElement from './createElement';
|
|
18
18
|
import ClipPath from './ClipPath';
|
|
19
19
|
import { CONSTANT, measureText } from './utils';
|
|
20
|
+
import Tooltip from './Tooltip';
|
|
20
21
|
/*__reshadow-styles__:"./style/bubble.shadow.css"*/
|
|
21
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
22
|
-
"__SBubble": "
|
|
23
|
-
"--duration": "--
|
|
24
|
-
"_color": "
|
|
25
|
-
"--color": "--
|
|
26
|
-
"_transparent": "
|
|
27
|
-
"__SCenter": "
|
|
28
|
-
"__SLabel": "
|
|
29
|
-
"_position_right": "
|
|
30
|
-
"_position_left": "
|
|
22
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SBubble_1fggl_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);stroke:var(--intergalactic-chart-grid-border, #ffffff);stroke-width:2px;transition-property:cx,cy;transition-duration:var(--duration_1fggl);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SBubble_1fggl_gg_:hover{opacity:.8}}.___SBubble_1fggl_gg_.__color_1fggl_gg_{fill:var(--color_1fggl)}.___SBubble_1fggl_gg_.__transparent_1fggl_gg_{opacity:.3}.___SCenter_1fggl_gg_{text-anchor:middle;font-size:calc(var(--intergalactic-fs-100, 12px) - 1px);stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SCenter_1fggl_gg_.__color_1fggl_gg_{stroke:var(--color_1fggl)}.___SCenter_1fggl_gg_.__transparent_1fggl_gg_{opacity:.3}.___SLabel_1fggl_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SLabel_1fggl_gg_._position_right_1fggl_gg_{text-anchor:end}.___SLabel_1fggl_gg_._position_left_1fggl_gg_{text-anchor:start}.___SLabel_1fggl_gg_.__color_1fggl_gg_{fill:var(--color_1fggl)}.___SLabel_1fggl_gg_.__transparent_1fggl_gg_{opacity:.3}" /*__inner_css_end__*/, "1fggl_gg_") /*__reshadow_css_end__*/, {
|
|
23
|
+
"__SBubble": "___SBubble_1fggl_gg_",
|
|
24
|
+
"--duration": "--duration_1fggl",
|
|
25
|
+
"_color": "__color_1fggl_gg_",
|
|
26
|
+
"--color": "--color_1fggl",
|
|
27
|
+
"_transparent": "__transparent_1fggl_gg_",
|
|
28
|
+
"__SCenter": "___SCenter_1fggl_gg_",
|
|
29
|
+
"__SLabel": "___SLabel_1fggl_gg_",
|
|
30
|
+
"_position_right": "_position_right_1fggl_gg_",
|
|
31
|
+
"_position_left": "_position_left_1fggl_gg_"
|
|
31
32
|
});
|
|
32
33
|
var BubbleRoot = /*#__PURE__*/function (_Component) {
|
|
33
34
|
_inherits(BubbleRoot, _Component);
|
|
@@ -134,10 +135,12 @@ var BubbleRoot = /*#__PURE__*/function (_Component) {
|
|
|
134
135
|
return _ref = sstyled(styles), /*#__PURE__*/React.createElement("g", _ref.cn("g", {
|
|
135
136
|
"key": "circle(#".concat(i, ")"),
|
|
136
137
|
"onMouseMove": this.bindHandlerTooltip(true, _objectSpread(_objectSpread({}, this.props), {}, {
|
|
137
|
-
xIndex: i
|
|
138
|
+
xIndex: i,
|
|
139
|
+
index: i
|
|
138
140
|
})),
|
|
139
141
|
"onMouseLeave": this.bindHandlerTooltip(false, _objectSpread(_objectSpread({}, this.props), {}, {
|
|
140
|
-
xIndex: i
|
|
142
|
+
xIndex: i,
|
|
143
|
+
index: i
|
|
141
144
|
}))
|
|
142
145
|
}), markedCross && /*#__PURE__*/React.createElement(SCenter, _ref.cn("SCenter", {
|
|
143
146
|
"aria-hidden": true,
|
|
@@ -209,6 +212,8 @@ _defineProperty(BubbleRoot, "defaultProps", {
|
|
|
209
212
|
duration: 500,
|
|
210
213
|
markedCross: true
|
|
211
214
|
});
|
|
212
|
-
var Bubble = createElement(BubbleRoot
|
|
215
|
+
var Bubble = createElement(BubbleRoot, {
|
|
216
|
+
Tooltip: Tooltip
|
|
217
|
+
});
|
|
213
218
|
export default Bubble;
|
|
214
219
|
//# sourceMappingURL=Bubble.js.map
|
package/lib/es6/Bubble.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bubble.js","names":["React","scaleSqrt","transition","Component","sstyled","canUseDOM","uniqueIDEnhancement","createElement","ClipPath","CONSTANT","measureText","style","_sstyled","insert","BubbleRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","document","visible","props","_ref2","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","_createClass","key","value","undefined","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","data","z","domain","Math","max","_toConsumableArray","map","el","range","selectRect","selection","selectAll","attr","selectRectNode","node","_","ind","componentDidUpdate","componentDidMount","renderCircle","d","i","_ref","_d$color","_this$asProps2","color","scale","offset","styles","label","markedCross","size","transparent","_scale","_slicedToArray","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","min","labelPosition","labelDistance","cn","bindHandlerTooltip","_objectSpread","xIndex","render","_this$asProps3","_scale2","xSize","abs","ySize","xMargin","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","bind","id","Bubble"],"sources":["../../src/Bubble.jsx"],"sourcesContent":["import React from 'react';\nimport { scaleSqrt } from 'd3-scale';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport ClipPath from './ClipPath';\nimport { CONSTANT, measureText } from './utils';\n\nimport style from './style/bubble.shadow.css';\n\nclass BubbleRoot extends Component {\n static displayName = 'Bubble';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n markedCross: true,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n bindHandlerTooltip = (visible, props) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n animationCircle() {\n const { duration, uid, data, value } = this.asProps;\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const selectRect = transition().selection().selectAll(`[id^=${uid}${uid}]`).attr('r', 0);\n\n const selectRectNode = selectRect.node();\n if (duration > 0 && selectRectNode) {\n selectRect\n .transition()\n .duration(duration)\n .attr('r', function (_, ind) {\n return z(data[ind][value]);\n });\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n offset,\n styles,\n uid,\n duration,\n value,\n label,\n markedCross,\n size,\n data,\n transparent,\n } = this.asProps;\n const [xScale, yScale] = scale;\n\n const SBubble = this.Element;\n const SCenter = 'text';\n const SLabel = 'text';\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const margin = Math.min(xScale.range()[0], xScale.range()[1]);\n\n const labelPosition =\n size[0] - 2 * margin - (xScale(d[x]) + offset[0] + z(d[value])) < measureText(d[label])\n ? 'right'\n : 'left';\n const labelDistance = {\n right: xScale(d[x]) + offset[0] - z(d[value]),\n left: xScale(d[x]) + offset[0] + z(d[value]),\n }[labelPosition];\n\n return sstyled(styles)(\n <g\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, { ...this.props, xIndex: i })}\n onMouseLeave={this.bindHandlerTooltip(false, { ...this.props, xIndex: i })}\n >\n {markedCross && (\n <SCenter\n aria-hidden\n x={xScale(d[x]) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n color={d[color] ?? color}\n transparent={transparent}\n >\n +\n </SCenter>\n )}\n <SBubble\n aria-hidden\n id={`${uid}${uid}`}\n index={i}\n render='circle'\n clipPath={`url(#${uid})`}\n cx={xScale(d[x]) + offset[0]}\n cy={yScale(d[y]) + offset[1]}\n color={d[color]}\n r={z(d[value])}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {d[label] && (\n <SLabel\n aria-hidden\n x={labelDistance}\n y={yScale(d[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n position={labelPosition}\n color={d[color]}\n transparent={transparent}\n >\n {d[label]}\n </SLabel>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale, x, y, value } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);\n this.asProps.dataHintsHandler.establishDataType('points-cloud');\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n {data.map(this.animationCircle.bind(this))}\n <ClipPath\n aria-hidden\n id={uid}\n x={xMargin}\n y={yMargin}\n width={`${xSize}px`}\n height={`${ySize}px`}\n />\n </>\n );\n }\n}\n\nconst Bubble = createElement(BubbleRoot);\n\nexport default Bubble;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Bubble.js","names":["React","scaleSqrt","transition","Component","sstyled","canUseDOM","uniqueIDEnhancement","createElement","ClipPath","CONSTANT","measureText","Tooltip","style","_sstyled","insert","BubbleRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","document","visible","props","_ref2","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","_createClass","key","value","undefined","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","data","z","domain","Math","max","_toConsumableArray","map","el","range","selectRect","selection","selectAll","attr","selectRectNode","node","_","ind","componentDidUpdate","componentDidMount","renderCircle","d","i","_ref","_d$color","_this$asProps2","color","scale","offset","styles","label","markedCross","size","transparent","_scale","_slicedToArray","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","min","labelPosition","labelDistance","cn","bindHandlerTooltip","_objectSpread","xIndex","index","render","_this$asProps3","_scale2","xSize","abs","ySize","xMargin","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","bind","id","Bubble"],"sources":["../../src/Bubble.jsx"],"sourcesContent":["import React from 'react';\nimport { scaleSqrt } from 'd3-scale';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport ClipPath from './ClipPath';\nimport { CONSTANT, measureText } from './utils';\nimport Tooltip from './Tooltip';\n\nimport style from './style/bubble.shadow.css';\n\nclass BubbleRoot extends Component {\n static displayName = 'Bubble';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n markedCross: true,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n bindHandlerTooltip = (visible, props) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n animationCircle() {\n const { duration, uid, data, value } = this.asProps;\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const selectRect = transition().selection().selectAll(`[id^=${uid}${uid}]`).attr('r', 0);\n\n const selectRectNode = selectRect.node();\n if (duration > 0 && selectRectNode) {\n selectRect\n .transition()\n .duration(duration)\n .attr('r', function (_, ind) {\n return z(data[ind][value]);\n });\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n offset,\n styles,\n uid,\n duration,\n value,\n label,\n markedCross,\n size,\n data,\n transparent,\n } = this.asProps;\n const [xScale, yScale] = scale;\n\n const SBubble = this.Element;\n const SCenter = 'text';\n const SLabel = 'text';\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const margin = Math.min(xScale.range()[0], xScale.range()[1]);\n\n const labelPosition =\n size[0] - 2 * margin - (xScale(d[x]) + offset[0] + z(d[value])) < measureText(d[label])\n ? 'right'\n : 'left';\n const labelDistance = {\n right: xScale(d[x]) + offset[0] - z(d[value]),\n left: xScale(d[x]) + offset[0] + z(d[value]),\n }[labelPosition];\n\n return sstyled(styles)(\n <g\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, { ...this.props, xIndex: i, index: i })}\n onMouseLeave={this.bindHandlerTooltip(false, { ...this.props, xIndex: i, index: i })}\n >\n {markedCross && (\n <SCenter\n aria-hidden\n x={xScale(d[x]) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n color={d[color] ?? color}\n transparent={transparent}\n >\n +\n </SCenter>\n )}\n <SBubble\n aria-hidden\n id={`${uid}${uid}`}\n index={i}\n render='circle'\n clipPath={`url(#${uid})`}\n cx={xScale(d[x]) + offset[0]}\n cy={yScale(d[y]) + offset[1]}\n color={d[color]}\n r={z(d[value])}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {d[label] && (\n <SLabel\n aria-hidden\n x={labelDistance}\n y={yScale(d[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n position={labelPosition}\n color={d[color]}\n transparent={transparent}\n >\n {d[label]}\n </SLabel>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale, x, y, value } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);\n this.asProps.dataHintsHandler.establishDataType('points-cloud');\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n {data.map(this.animationCircle.bind(this))}\n <ClipPath\n aria-hidden\n id={uid}\n x={xMargin}\n y={yMargin}\n width={`${xSize}px`}\n height={`${ySize}px`}\n />\n </>\n );\n }\n}\n\nconst Bubble = createElement(BubbleRoot, { Tooltip });\n\nexport default Bubble;\n"],"mappings":"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"}
|
package/lib/es6/Donut.js
CHANGED
|
@@ -18,14 +18,15 @@ import getOriginChildren from '@semcore/utils/lib/getOriginChildren';
|
|
|
18
18
|
import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
|
|
19
19
|
import createElement from './createElement';
|
|
20
20
|
import { CONSTANT } from './utils';
|
|
21
|
+
import Tooltip from './Tooltip';
|
|
21
22
|
/*__reshadow-styles__:"./style/donut.shadow.css"*/
|
|
22
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
23
|
-
"__SPie": "
|
|
24
|
-
"_color": "
|
|
25
|
-
"--color": "--
|
|
26
|
-
"_transparent": "
|
|
27
|
-
"__SEmptyData": "
|
|
28
|
-
"__SLabel": "
|
|
23
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SPie_s10f8_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SPie_s10f8_gg_.__color_s10f8_gg_{fill:var(--color_s10f8)}.___SPie_s10f8_gg_.__transparent_s10f8_gg_{opacity:.3}.___SEmptyData_s10f8_gg_{fill:var(--intergalactic-chart-palette-order-null, #e0e1e9)}.___SEmptyData_s10f8_gg_.__color_s10f8_gg_{fill:var(--color_s10f8)}.___SLabel_s10f8_gg_{text-anchor:middle;vertical-anchor:middle}" /*__inner_css_end__*/, "s10f8_gg_") /*__reshadow_css_end__*/, {
|
|
24
|
+
"__SPie": "___SPie_s10f8_gg_",
|
|
25
|
+
"_color": "__color_s10f8_gg_",
|
|
26
|
+
"--color": "--color_s10f8",
|
|
27
|
+
"_transparent": "__transparent_s10f8_gg_",
|
|
28
|
+
"__SEmptyData": "___SEmptyData_s10f8_gg_",
|
|
29
|
+
"__SLabel": "___SLabel_s10f8_gg_"
|
|
29
30
|
});
|
|
30
31
|
var DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');
|
|
31
32
|
function transitionAnglePie(_ref4) {
|
|
@@ -423,7 +424,8 @@ function Label(_ref17) {
|
|
|
423
424
|
var Donut = createElement(DonutRoot, {
|
|
424
425
|
Pie: Pie,
|
|
425
426
|
Label: Label,
|
|
426
|
-
EmptyData: EmptyData
|
|
427
|
+
EmptyData: EmptyData,
|
|
428
|
+
Tooltip: Tooltip
|
|
427
429
|
});
|
|
428
430
|
export default Donut;
|
|
429
431
|
//# sourceMappingURL=Donut.js.map
|
package/lib/es6/Donut.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Donut.js","names":["React","useEffect","useRef","useState","arc","pie","interpolate","transition","Component","sstyled","canUseDOM","getOriginChildren","uniqueIDEnhancement","createElement","CONSTANT","style","_sstyled","insert","DEFAULT_INSTANCE","Symbol","transitionAnglePie","_ref4","selector","duration","halfsize","d3Arc","d3ArcOut","arcs","activeIndexPie","selection","selectAll","interrupt","attrTween","_","ind","d","Object","assign","self","initAngle","Math","PI","prevStartAngle","prevEndAngle","startAngle","endAngle","iStartAngle","iEndAngle","t","transitionRadiusPie","_ref5","data","element","innerRadius","outerRadiusStartEnd","select","_outerRadiusStartEnd","_slicedToArray","start","end","iOuterRadius","outerRadiusPX","dataset","outerRadius","increaseFactor","getOuterRadius","_ref6","size","_size","width","height","minORmax","max","min","DonutRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","document","undefined","visible","props","_ref7","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","_ref8","active","_this$asProps","canAnimatedHover","id","_this$asProps2","on","_createClass","key","get","_this$asProps3","uid","value","top","right","bottom","left","getArcs","_this$asProps4","Children","d3Pie","pieData","entries","keys","toArray","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","_ref9","_ref10","includes","sort","_ref11","_ref12","_ref13","a","_ref14","b","indexOf","minValue","cur","map","getPieProps","_this2","_this$asProps5","find","$animationActivePie","animationActivePie","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","getEmptyDataProps","componentDidUpdate","prevProps","$rootProps","animationUpdatePie","componentDidMount","render","_this$asProps6","dataHintsHandler","establishDataType","_size2","Element","k","childrenPosition","transform","_ref18","_ref18$innerRadius","_ref18$halfsize","_ref19","_ref20","_ref15","_ref","SPie","styles","color","name","transparent","other","_objectWithoutProperties","_excluded","_useState","_useState2","isMount","setIsMount","pieRef","current","describeValueEntity","cn","EmptyData","_ref16","_ref2","SEmptyData","Label","_ref17","_ref3","SLabel","children","label","setTitle"],"sources":["../../src/Donut.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { arc, pie } from 'd3-shape';\nimport { interpolate } from 'd3-interpolate';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\n\nimport style from './style/donut.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\n\nfunction transitionAnglePie({\n selector,\n duration,\n halfsize,\n d3Arc,\n d3ArcOut,\n arcs,\n activeIndexPie,\n}) {\n return transition()\n .selection()\n .selectAll(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function (_, ind) {\n if (!arcs[ind]) return () => '';\n const d = Object.assign({}, arcs[ind]);\n const self = this;\n const initAngle = halfsize ? -Math.PI / 2 : 0;\n let prevStartAngle = initAngle;\n let prevEndAngle = initAngle;\n if (self.arc) {\n prevStartAngle = self.arc.startAngle;\n prevEndAngle = self.arc.endAngle;\n }\n const iStartAngle = interpolate(prevStartAngle, d.startAngle);\n const iEndAngle = interpolate(prevEndAngle, d.endAngle);\n return function (t) {\n d.startAngle = iStartAngle(t);\n d.endAngle = iEndAngle(t);\n self.arc = d;\n return ind === activeIndexPie ? d3ArcOut(self.arc) : d3Arc(self.arc);\n };\n });\n}\n\nfunction transitionRadiusPie({\n data,\n selector,\n element,\n duration,\n innerRadius,\n outerRadiusStartEnd,\n}) {\n return transition()\n .selection()\n .select(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function () {\n const [start, end] = outerRadiusStartEnd;\n const iOuterRadius = interpolate(start, end);\n return function (t) {\n const outerRadiusPX = iOuterRadius(t);\n element.dataset['currentRadius'] = outerRadiusPX;\n const d3ArcOut = arc().innerRadius(innerRadius).outerRadius(outerRadiusPX);\n return d3ArcOut(data);\n };\n });\n}\n\nconst increaseFactor = 8;\n\nfunction getOuterRadius({ size, halfsize }) {\n const [width, height] = size;\n const minORmax = halfsize ? Math.max : Math.min;\n return 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(outerRadius || getOuterRadius({ size, halfsize, outerRadius }))\n .innerRadius(innerRadius);\n\n const d3ArcOut = arc()\n .outerRadius((outerRadius || getOuterRadius({ size, halfsize })) + increaseFactor)\n .innerRadius(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 canAnimatedHover = false;\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 animationActivePie = ({ data, active, selector, element }) => {\n const { duration, innerRadius, d3Arc } = this.asProps;\n const outerRadius = d3Arc.outerRadius()();\n if (this.canAnimatedHover && duration > 0) {\n transitionRadiusPie({\n data,\n selector: `#${this.id} ${selector}`,\n element,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadiusStartEnd: active\n ? [+element.dataset['currentRadius'] || outerRadius, outerRadius + increaseFactor]\n : [+element.dataset['currentRadius'] || outerRadius, outerRadius],\n });\n }\n };\n\n animationUpdatePie = () => {\n const { duration, d3Arc, halfsize, d3ArcOut } = this.asProps;\n this.canAnimatedHover = false;\n if (duration > 0) {\n transitionAnglePie({\n selector: `#${this.id} [data-ui-name=\"Donut.Pie\"]`,\n duration,\n arcs: this.arcs,\n halfsize,\n d3Arc,\n d3ArcOut,\n activeIndexPie: this.activeIndexPie,\n }).on('end', () => {\n this.canAnimatedHover = true;\n });\n } else {\n this.canAnimatedHover = true;\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 if (!active) {\n this.animationActivePie({\n active: true,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n element: e.target,\n });\n }\n },\n onMouseOut: (e) => {\n if (!active) {\n this.animationActivePie({\n active: false,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n element: e.target,\n });\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 } = this.asProps;\n if (prevProps.$rootProps.data !== data) {\n this.animationUpdatePie();\n }\n }\n\n componentDidMount() {\n this.animationUpdatePie();\n }\n\n render() {\n const { halfsize, size } = this.asProps;\n this.asProps.dataHintsHandler.establishDataType('values-set');\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 aria-hidden\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 name,\n dataKey,\n dataHintsHandler,\n transparent,\n ...other\n}) {\n const [isMount, setIsMount] = useState(false);\n const pieRef = useRef(null);\n\n useEffect(() => {\n pieRef.current.dataset['currentRadius'] = (active ? d3ArcOut : d3Arc).outerRadius()();\n\n // do not run animation on first render\n if (!isMount) {\n setIsMount(true);\n return;\n }\n if (active !== undefined && active !== null) {\n $animationActivePie({\n active,\n data,\n selector: `[name=\"${other.name}\"]`,\n element: pieRef.current,\n });\n }\n }, [active]);\n\n dataHintsHandler.establishDataType('values-set');\n dataHintsHandler.describeValueEntity(dataKey, name);\n\n return sstyled(styles)(\n <SPie\n render='path'\n ref={pieRef}\n color={color}\n d={active ? d3ArcOut(data) : d3Arc(data)}\n transparent={transparent}\n />,\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, children, label, dataHintsHandler }) {\n dataHintsHandler.setTitle('vertical', label || children);\n\n return sstyled(styles)(\n <SLabel render='text' x='0' y='0' aria-hidden>\n <Children />\n </SLabel>,\n );\n}\n\nconst Donut = createElement(DonutRoot, { Pie, Label, EmptyData });\n\nexport default Donut;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Donut.js","names":["React","useEffect","useRef","useState","arc","pie","interpolate","transition","Component","sstyled","canUseDOM","getOriginChildren","uniqueIDEnhancement","createElement","CONSTANT","Tooltip","style","_sstyled","insert","DEFAULT_INSTANCE","Symbol","transitionAnglePie","_ref4","selector","duration","halfsize","d3Arc","d3ArcOut","arcs","activeIndexPie","selection","selectAll","interrupt","attrTween","_","ind","d","Object","assign","self","initAngle","Math","PI","prevStartAngle","prevEndAngle","startAngle","endAngle","iStartAngle","iEndAngle","t","transitionRadiusPie","_ref5","data","element","innerRadius","outerRadiusStartEnd","select","_outerRadiusStartEnd","_slicedToArray","start","end","iOuterRadius","outerRadiusPX","dataset","outerRadius","increaseFactor","getOuterRadius","_ref6","size","_size","width","height","minORmax","max","min","DonutRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","document","undefined","visible","props","_ref7","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","VIRTUAL_ELEMENT","emit","_ref8","active","_this$asProps","canAnimatedHover","id","_this$asProps2","on","_createClass","key","get","_this$asProps3","uid","value","top","right","bottom","left","getArcs","_this$asProps4","Children","d3Pie","pieData","entries","keys","toArray","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","_ref9","_ref10","includes","sort","_ref11","_ref12","_ref13","a","_ref14","b","indexOf","minValue","cur","map","getPieProps","_this2","_this$asProps5","find","$animationActivePie","animationActivePie","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","getEmptyDataProps","componentDidUpdate","prevProps","$rootProps","animationUpdatePie","componentDidMount","render","_this$asProps6","dataHintsHandler","establishDataType","_size2","Element","k","childrenPosition","transform","_ref18","_ref18$innerRadius","_ref18$halfsize","_ref19","_ref20","_ref15","_ref","SPie","styles","color","name","transparent","other","_objectWithoutProperties","_excluded","_useState","_useState2","isMount","setIsMount","pieRef","current","describeValueEntity","cn","EmptyData","_ref16","_ref2","SEmptyData","Label","_ref17","_ref3","SLabel","children","label","setTitle"],"sources":["../../src/Donut.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { arc, pie } from 'd3-shape';\nimport { interpolate } from 'd3-interpolate';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\nimport Tooltip from './Tooltip';\n\nimport style from './style/donut.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\n\nfunction transitionAnglePie({\n selector,\n duration,\n halfsize,\n d3Arc,\n d3ArcOut,\n arcs,\n activeIndexPie,\n}) {\n return transition()\n .selection()\n .selectAll(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function (_, ind) {\n if (!arcs[ind]) return () => '';\n const d = Object.assign({}, arcs[ind]);\n const self = this;\n const initAngle = halfsize ? -Math.PI / 2 : 0;\n let prevStartAngle = initAngle;\n let prevEndAngle = initAngle;\n if (self.arc) {\n prevStartAngle = self.arc.startAngle;\n prevEndAngle = self.arc.endAngle;\n }\n const iStartAngle = interpolate(prevStartAngle, d.startAngle);\n const iEndAngle = interpolate(prevEndAngle, d.endAngle);\n return function (t) {\n d.startAngle = iStartAngle(t);\n d.endAngle = iEndAngle(t);\n self.arc = d;\n return ind === activeIndexPie ? d3ArcOut(self.arc) : d3Arc(self.arc);\n };\n });\n}\n\nfunction transitionRadiusPie({\n data,\n selector,\n element,\n duration,\n innerRadius,\n outerRadiusStartEnd,\n}) {\n return transition()\n .selection()\n .select(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function () {\n const [start, end] = outerRadiusStartEnd;\n const iOuterRadius = interpolate(start, end);\n return function (t) {\n const outerRadiusPX = iOuterRadius(t);\n element.dataset['currentRadius'] = outerRadiusPX;\n const d3ArcOut = arc().innerRadius(innerRadius).outerRadius(outerRadiusPX);\n return d3ArcOut(data);\n };\n });\n}\n\nconst increaseFactor = 8;\n\nfunction getOuterRadius({ size, halfsize }) {\n const [width, height] = size;\n const minORmax = halfsize ? Math.max : Math.min;\n return 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(outerRadius || getOuterRadius({ size, halfsize, outerRadius }))\n .innerRadius(innerRadius);\n\n const d3ArcOut = arc()\n .outerRadius((outerRadius || getOuterRadius({ size, halfsize })) + increaseFactor)\n .innerRadius(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 canAnimatedHover = false;\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 animationActivePie = ({ data, active, selector, element }) => {\n const { duration, innerRadius, d3Arc } = this.asProps;\n const outerRadius = d3Arc.outerRadius()();\n if (this.canAnimatedHover && duration > 0) {\n transitionRadiusPie({\n data,\n selector: `#${this.id} ${selector}`,\n element,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadiusStartEnd: active\n ? [+element.dataset['currentRadius'] || outerRadius, outerRadius + increaseFactor]\n : [+element.dataset['currentRadius'] || outerRadius, outerRadius],\n });\n }\n };\n\n animationUpdatePie = () => {\n const { duration, d3Arc, halfsize, d3ArcOut } = this.asProps;\n this.canAnimatedHover = false;\n if (duration > 0) {\n transitionAnglePie({\n selector: `#${this.id} [data-ui-name=\"Donut.Pie\"]`,\n duration,\n arcs: this.arcs,\n halfsize,\n d3Arc,\n d3ArcOut,\n activeIndexPie: this.activeIndexPie,\n }).on('end', () => {\n this.canAnimatedHover = true;\n });\n } else {\n this.canAnimatedHover = true;\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 if (!active) {\n this.animationActivePie({\n active: true,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n element: e.target,\n });\n }\n },\n onMouseOut: (e) => {\n if (!active) {\n this.animationActivePie({\n active: false,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n element: e.target,\n });\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 } = this.asProps;\n if (prevProps.$rootProps.data !== data) {\n this.animationUpdatePie();\n }\n }\n\n componentDidMount() {\n this.animationUpdatePie();\n }\n\n render() {\n const { halfsize, size } = this.asProps;\n this.asProps.dataHintsHandler.establishDataType('values-set');\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 aria-hidden\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 name,\n dataKey,\n dataHintsHandler,\n transparent,\n ...other\n}) {\n const [isMount, setIsMount] = useState(false);\n const pieRef = useRef(null);\n\n useEffect(() => {\n pieRef.current.dataset['currentRadius'] = (active ? d3ArcOut : d3Arc).outerRadius()();\n\n // do not run animation on first render\n if (!isMount) {\n setIsMount(true);\n return;\n }\n if (active !== undefined && active !== null) {\n $animationActivePie({\n active,\n data,\n selector: `[name=\"${other.name}\"]`,\n element: pieRef.current,\n });\n }\n }, [active]);\n\n dataHintsHandler.establishDataType('values-set');\n dataHintsHandler.describeValueEntity(dataKey, name);\n\n return sstyled(styles)(\n <SPie\n render='path'\n ref={pieRef}\n color={color}\n d={active ? d3ArcOut(data) : d3Arc(data)}\n transparent={transparent}\n />,\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, children, label, dataHintsHandler }) {\n dataHintsHandler.setTitle('vertical', label || children);\n\n return sstyled(styles)(\n <SLabel render='text' x='0' y='0' aria-hidden>\n <Children />\n </SLabel>,\n );\n}\n\nconst Donut = createElement(DonutRoot, { Pie, Label, EmptyData, Tooltip });\n\nexport default Donut;\n"],"mappings":"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"}
|
package/lib/es6/Dots.js
CHANGED
|
@@ -7,15 +7,15 @@ import trottle from '@semcore/utils/lib/rafTrottle';
|
|
|
7
7
|
import createElement from './createElement';
|
|
8
8
|
import { eventToPoint, invert } from './utils';
|
|
9
9
|
/*__reshadow-styles__:"./style/dot.shadow.css"*/
|
|
10
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
11
|
-
"__SDots": "
|
|
12
|
-
"__SDot": "
|
|
13
|
-
"--duration": "--
|
|
14
|
-
"_hide": "
|
|
15
|
-
"_active": "
|
|
16
|
-
"_color": "
|
|
17
|
-
"--color": "--
|
|
18
|
-
"_transparent": "
|
|
10
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDots_1h9a8_gg_ .___SDot_1h9a8_gg_{transition-duration:var(--duration_1h9a8)}.___SDot_1h9a8_gg_{stroke-width:2px;stroke:var(--intergalactic-chart-grid-border, #ffffff);r:6px;fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy;transition-timing-function:ease-in-out}.___SDot_1h9a8_gg_.__hide_1h9a8_gg_{display:none}.___SDot_1h9a8_gg_.__active_1h9a8_gg_{r:8px}.___SDot_1h9a8_gg_.__color_1h9a8_gg_{fill:var(--color_1h9a8)}.___SDot_1h9a8_gg_.__transparent_1h9a8_gg_{opacity:.3}" /*__inner_css_end__*/, "1h9a8_gg_") /*__reshadow_css_end__*/, {
|
|
11
|
+
"__SDots": "___SDots_1h9a8_gg_",
|
|
12
|
+
"__SDot": "___SDot_1h9a8_gg_",
|
|
13
|
+
"--duration": "--duration_1h9a8",
|
|
14
|
+
"_hide": "__hide_1h9a8_gg_",
|
|
15
|
+
"_active": "__active_1h9a8_gg_",
|
|
16
|
+
"_color": "__color_1h9a8_gg_",
|
|
17
|
+
"--color": "--color_1h9a8",
|
|
18
|
+
"_transparent": "__transparent_1h9a8_gg_"
|
|
19
19
|
});
|
|
20
20
|
var EXCLUDE_PROPS = ['data', 'scale', 'value', 'display'];
|
|
21
21
|
function Dots(props) {
|
package/lib/es6/HorizontalBar.js
CHANGED
|
@@ -12,14 +12,14 @@ import createElement from './createElement';
|
|
|
12
12
|
import ClipPath from './ClipPath';
|
|
13
13
|
import { getBandwidth, roundedPath } from './utils';
|
|
14
14
|
/*__reshadow-styles__:"./style/bar.shadow.css"*/
|
|
15
|
-
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".
|
|
16
|
-
"__SBar": "
|
|
17
|
-
"--duration": "--
|
|
18
|
-
"_color": "
|
|
19
|
-
"--color": "--
|
|
20
|
-
"_hide": "
|
|
21
|
-
"_transparent": "
|
|
22
|
-
"__SBackground": "
|
|
15
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SBar_1ywra_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:height,width,y;transition-duration:var(--duration_1ywra);transition-timing-function:ease-in-out}.___SBar_1ywra_gg_.__color_1ywra_gg_{fill:var(--color_1ywra)}.___SBar_1ywra_gg_.__hide_1ywra_gg_{display:none}.___SBar_1ywra_gg_.__transparent_1ywra_gg_{opacity:.3}.___SBackground_1ywra_gg_{fill:var(--intergalactic-chart-palette-order-other-data, #c4c7cf)}" /*__inner_css_end__*/, "1ywra_gg_") /*__reshadow_css_end__*/, {
|
|
16
|
+
"__SBar": "___SBar_1ywra_gg_",
|
|
17
|
+
"--duration": "--duration_1ywra",
|
|
18
|
+
"_color": "__color_1ywra_gg_",
|
|
19
|
+
"--color": "--color_1ywra",
|
|
20
|
+
"_hide": "__hide_1ywra_gg_",
|
|
21
|
+
"_transparent": "__transparent_1ywra_gg_",
|
|
22
|
+
"__SBackground": "___SBackground_1ywra_gg_"
|
|
23
23
|
});
|
|
24
24
|
export var MIN_WIDTH = 2;
|
|
25
25
|
var calcPartBarX = function calcPartBarX(x, minWidth, width) {
|
|
@@ -39,12 +39,13 @@ var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
|
|
|
39
39
|
}
|
|
40
40
|
_createClass(HorizontalBarRoot, [{
|
|
41
41
|
key: "getBackgroundProps",
|
|
42
|
-
value: function getBackgroundProps(
|
|
42
|
+
value: function getBackgroundProps(_props, index) {
|
|
43
43
|
var _this$asProps = this.asProps,
|
|
44
44
|
data = _this$asProps.data,
|
|
45
45
|
y = _this$asProps.y;
|
|
46
46
|
return {
|
|
47
|
-
value: data[index][y]
|
|
47
|
+
value: data[index][y],
|
|
48
|
+
index: index
|
|
48
49
|
};
|
|
49
50
|
}
|
|
50
51
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HorizontalBar.js","names":["React","Component","sstyled","uniqueIDEnhancement","createElement","ClipPath","getBandwidth","roundedPath","style","_sstyled","insert","MIN_WIDTH","calcPartBarX","x","minWidth","width","Object","is","HorizontalBarRoot","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","getBackgroundProps","props","index","_this$asProps","asProps","data","y","renderBar","d","i","_ref","_d$x","_d$x2","_d$x3","SBar","Element","_this$asProps2","styles","color","x0","scale","hide","offsetProps","offset","uid","duration","r","wMin","heightProps","height","onMouseMove","onMouseLeave","groupKey","transparent","_scale","_slicedToArray","xScale","yScale","absWidth","Math","abs","max","domain","Number","barY","barX","min","dSvg","getHorizontalRect","radius","Array","isArray","position","dataHintsHandler","describeGroupedValues","describeValueEntity","concat","cn","render","_this$asProps3","size","Fragment","map","bind","setAttributeTag","rect","setAttribute","id","transition","_defineProperty","Background","_ref2","SBackground","_scale2","xRange","range","bandwidth","_ref3"],"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\nexport const MIN_WIDTH = 2;\n\nconst calcPartBarX = (x, minWidth, width) => {\n // need for the correct rendering of negative values\n if (x <= 0) {\n return width <= minWidth ? minWidth : 0;\n }\n // need for the correct rendering of the minimum positive values\n return Object.is(x, 0) ? minWidth : 0;\n};\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 wMin: MIN_WIDTH,\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: offsetProps,\n uid,\n duration,\n r,\n wMin,\n height: heightProps,\n onMouseMove,\n onMouseLeave,\n groupKey,\n transparent,\n } = this.asProps;\n\n const offset = typeof offsetProps === 'function' ? offsetProps(i) : offsetProps;\n const [xScale, yScale] = scale;\n const absWidth = Math.abs(\n xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[x0] ?? 0)),\n );\n const height = heightProps || getBandwidth(yScale);\n const width = Number(d[x] - (d[x0] ?? 0)) === 0 ? 0 : Math.max(absWidth, wMin);\n const barY = yScale(d[y]) + offset[1];\n const barX =\n xScale(Math.min(d[x0] ?? 0, width <= wMin && d[x] < 0 ? 0 : d[x])) +\n offset[0] -\n calcPartBarX(d[x], wMin, width);\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 || Object.is(d[x], 0) ? 'right' : 'left',\n });\n\n if (groupKey) {\n this.asProps.dataHintsHandler.describeGroupedValues(groupKey, x);\n } else {\n this.asProps.dataHintsHandler.describeValueEntity(`${i}.${x}`, groupKey ?? d[y]);\n }\n\n return sstyled(styles)(\n <SBar\n aria-hidden\n key={`horizontal-bar-${i}`}\n render='path'\n clipPath={`url(#${uid})`}\n __excludeProps={['data', 'scale', 'value', 'offset']}\n childrenPosition='above'\n value={d}\n index={i}\n hide={hide}\n color={color}\n transparent={transparent}\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 aria-hidden\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 aria-hidden\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) radius = width;\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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"}
|
|
1
|
+
{"version":3,"file":"HorizontalBar.js","names":["React","Component","sstyled","uniqueIDEnhancement","createElement","ClipPath","getBandwidth","roundedPath","style","_sstyled","insert","MIN_WIDTH","calcPartBarX","x","minWidth","width","Object","is","HorizontalBarRoot","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","getBackgroundProps","_props","index","_this$asProps","asProps","data","y","renderBar","d","i","_ref","_d$x","_d$x2","_d$x3","SBar","Element","_this$asProps2","styles","color","x0","scale","hide","offsetProps","offset","uid","duration","r","wMin","heightProps","height","onMouseMove","onMouseLeave","groupKey","transparent","_scale","_slicedToArray","xScale","yScale","absWidth","Math","abs","max","domain","Number","barY","barX","min","dSvg","getHorizontalRect","radius","Array","isArray","position","dataHintsHandler","describeGroupedValues","describeValueEntity","concat","cn","render","_this$asProps3","size","Fragment","map","bind","setAttributeTag","rect","setAttribute","id","transition","_defineProperty","Background","props","_ref2","SBackground","_scale2","xRange","range","bandwidth","_ref3"],"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\nexport const MIN_WIDTH = 2;\n\nconst calcPartBarX = (x, minWidth, width) => {\n // need for the correct rendering of negative values\n if (x <= 0) {\n return width <= minWidth ? minWidth : 0;\n }\n // need for the correct rendering of the minimum positive values\n return Object.is(x, 0) ? minWidth : 0;\n};\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 wMin: MIN_WIDTH,\n };\n\n getBackgroundProps(_props, index) {\n const { data, y } = this.asProps;\n return {\n value: data[index][y],\n index,\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: offsetProps,\n uid,\n duration,\n r,\n wMin,\n height: heightProps,\n onMouseMove,\n onMouseLeave,\n groupKey,\n transparent,\n } = this.asProps;\n\n const offset = typeof offsetProps === 'function' ? offsetProps(i) : offsetProps;\n const [xScale, yScale] = scale;\n const absWidth = Math.abs(\n xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[x0] ?? 0)),\n );\n const height = heightProps || getBandwidth(yScale);\n const width = Number(d[x] - (d[x0] ?? 0)) === 0 ? 0 : Math.max(absWidth, wMin);\n const barY = yScale(d[y]) + offset[1];\n const barX =\n xScale(Math.min(d[x0] ?? 0, width <= wMin && d[x] < 0 ? 0 : d[x])) +\n offset[0] -\n calcPartBarX(d[x], wMin, width);\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 || Object.is(d[x], 0) ? 'right' : 'left',\n });\n\n if (groupKey) {\n this.asProps.dataHintsHandler.describeGroupedValues(groupKey, x);\n } else {\n this.asProps.dataHintsHandler.describeValueEntity(`${i}.${x}`, groupKey ?? d[y]);\n }\n\n return sstyled(styles)(\n <SBar\n aria-hidden\n key={`horizontal-bar-${i}`}\n render='path'\n clipPath={`url(#${uid})`}\n __excludeProps={['data', 'scale', 'value', 'offset']}\n childrenPosition='above'\n value={d}\n index={i}\n hide={hide}\n color={color}\n transparent={transparent}\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 aria-hidden\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 aria-hidden\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) radius = width;\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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"}
|