@semcore/d3-chart 2.2.6 → 2.3.0-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -9
- package/lib/cjs/Area.js +16 -9
- package/lib/cjs/Area.js.map +1 -1
- package/lib/cjs/Axis.js +56 -17
- package/lib/cjs/Axis.js.map +1 -1
- package/lib/cjs/Bar.js +20 -9
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Bubble.js +20 -11
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/ClipPath.js +1 -0
- package/lib/cjs/ClipPath.js.map +1 -1
- package/lib/cjs/Donut.js +22 -12
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +10 -9
- package/lib/cjs/Dots.js.map +1 -1
- package/lib/cjs/GroupBar.js +12 -8
- package/lib/cjs/GroupBar.js.map +1 -1
- package/lib/cjs/HorizontalBar.js +20 -9
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Hover.js +8 -4
- package/lib/cjs/Hover.js.map +1 -1
- package/lib/cjs/Line.js +15 -9
- package/lib/cjs/Line.js.map +1 -1
- package/lib/cjs/Plot.js +46 -8
- package/lib/cjs/Plot.js.map +1 -1
- package/lib/cjs/RadialTree.js +25 -13
- package/lib/cjs/RadialTree.js.map +1 -1
- package/lib/cjs/ReferenceLine.js +10 -10
- package/lib/cjs/ResponsiveContainer.js +0 -1
- package/lib/cjs/ResponsiveContainer.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +17 -8
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/StackBar.js +12 -8
- package/lib/cjs/StackBar.js.map +1 -1
- package/lib/cjs/StackedArea.js +8 -7
- package/lib/cjs/StackedArea.js.map +1 -1
- package/lib/cjs/Tooltip.js +8 -8
- package/lib/cjs/Venn.js +25 -9
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yModule.js +185 -0
- package/lib/cjs/a11y/PlotA11yModule.js.map +1 -0
- package/lib/cjs/a11y/PlotA11yView.js +285 -0
- package/lib/cjs/a11y/PlotA11yView.js.map +1 -0
- package/lib/cjs/a11y/bezier.js +44 -0
- package/lib/cjs/a11y/bezier.js.map +1 -0
- package/lib/cjs/a11y/datasets/charts-a11y.js +591 -0
- package/lib/cjs/a11y/datasets/charts-a11y.js.map +1 -0
- package/lib/cjs/a11y/datasets/gold.json +7961 -0
- package/lib/cjs/a11y/datasets/imdb.json +10002 -0
- package/lib/cjs/a11y/datasets/readme.md +5 -0
- package/lib/cjs/a11y/datasets/stores.json +6274 -0
- package/lib/cjs/a11y/datasets/titanic.json +5436 -0
- package/lib/cjs/a11y/focus.js +57 -0
- package/lib/cjs/a11y/focus.js.map +1 -0
- package/lib/cjs/a11y/hints.js +141 -0
- package/lib/cjs/a11y/hints.js.map +1 -0
- package/lib/cjs/a11y/insights.js +785 -0
- package/lib/cjs/a11y/insights.js.map +1 -0
- package/lib/cjs/a11y/intl.js +31 -0
- package/lib/cjs/a11y/intl.js.map +1 -0
- package/lib/cjs/a11y/locale.js +48 -0
- package/lib/cjs/a11y/locale.js.map +1 -0
- package/lib/cjs/a11y/serialize.js +439 -0
- package/lib/cjs/a11y/serialize.js.map +1 -0
- package/lib/cjs/a11y/summarize.js +21 -0
- package/lib/cjs/a11y/summarize.js.map +1 -0
- package/lib/cjs/a11y/translations/module/de.json +5 -0
- package/lib/cjs/a11y/translations/module/en.json +5 -0
- package/lib/cjs/a11y/translations/module/es.json +5 -0
- package/lib/cjs/a11y/translations/module/fr.json +5 -0
- package/lib/cjs/a11y/translations/module/it.json +5 -0
- package/lib/cjs/a11y/translations/module/ja.json +5 -0
- package/lib/cjs/a11y/translations/module/ko.json +5 -0
- package/lib/cjs/a11y/translations/module/pt.json +5 -0
- package/lib/cjs/a11y/translations/module/tr.json +5 -0
- package/lib/cjs/a11y/translations/module/translations.js +46 -0
- package/lib/cjs/a11y/translations/module/translations.js.map +1 -0
- package/lib/cjs/a11y/translations/module/vi.json +5 -0
- package/lib/cjs/a11y/translations/module/zh.json +5 -0
- package/lib/cjs/a11y/translations/view/de.json +42 -0
- package/lib/cjs/a11y/translations/view/en.csv +41 -0
- package/lib/cjs/a11y/translations/view/en.json +42 -0
- package/lib/cjs/a11y/translations/view/es.json +42 -0
- package/lib/cjs/a11y/translations/view/fr.json +42 -0
- package/lib/cjs/a11y/translations/view/it.json +42 -0
- package/lib/cjs/a11y/translations/view/ja.json +42 -0
- package/lib/cjs/a11y/translations/view/ko.json +42 -0
- package/lib/cjs/a11y/translations/view/pt.json +42 -0
- package/lib/cjs/a11y/translations/view/tr.json +42 -0
- package/lib/cjs/a11y/translations/view/translations.js +46 -0
- package/lib/cjs/a11y/translations/view/translations.js.map +1 -0
- package/lib/cjs/a11y/translations/view/vi.json +42 -0
- package/lib/cjs/a11y/translations/view/zh.json +42 -0
- package/lib/cjs/createElement.js +3 -1
- package/lib/cjs/createElement.js.map +1 -1
- package/lib/cjs/style/plot.shadow.css +10 -0
- package/lib/cjs/style/plotA11yModule.shadow.css +13 -0
- package/lib/cjs/style/plotA11yView.shadow.css +39 -0
- package/lib/cjs/types/Plot.d.ts +75 -0
- package/lib/cjs/utils.js +9 -1
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Area.js +16 -9
- package/lib/es6/Area.js.map +1 -1
- package/lib/es6/Axis.js +56 -17
- package/lib/es6/Axis.js.map +1 -1
- package/lib/es6/Bar.js +20 -9
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Bubble.js +20 -11
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/ClipPath.js +1 -0
- package/lib/es6/ClipPath.js.map +1 -1
- package/lib/es6/Donut.js +22 -12
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +10 -9
- package/lib/es6/Dots.js.map +1 -1
- package/lib/es6/GroupBar.js +12 -8
- package/lib/es6/GroupBar.js.map +1 -1
- package/lib/es6/HorizontalBar.js +20 -9
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Hover.js +8 -4
- package/lib/es6/Hover.js.map +1 -1
- package/lib/es6/Line.js +15 -9
- package/lib/es6/Line.js.map +1 -1
- package/lib/es6/Plot.js +48 -9
- package/lib/es6/Plot.js.map +1 -1
- package/lib/es6/RadialTree.js +25 -13
- package/lib/es6/RadialTree.js.map +1 -1
- package/lib/es6/ReferenceLine.js +10 -10
- package/lib/es6/ResponsiveContainer.js +0 -1
- package/lib/es6/ResponsiveContainer.js.map +1 -1
- package/lib/es6/ScatterPlot.js +17 -8
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/StackBar.js +12 -8
- package/lib/es6/StackBar.js.map +1 -1
- package/lib/es6/StackedArea.js +8 -7
- package/lib/es6/StackedArea.js.map +1 -1
- package/lib/es6/Tooltip.js +8 -8
- package/lib/es6/Venn.js +25 -9
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/a11y/PlotA11yModule.js +160 -0
- package/lib/es6/a11y/PlotA11yModule.js.map +1 -0
- package/lib/es6/a11y/PlotA11yView.js +254 -0
- package/lib/es6/a11y/PlotA11yView.js.map +1 -0
- package/lib/es6/a11y/bezier.js +35 -0
- package/lib/es6/a11y/bezier.js.map +1 -0
- package/lib/es6/a11y/datasets/charts-a11y.js +590 -0
- package/lib/es6/a11y/datasets/charts-a11y.js.map +1 -0
- package/lib/es6/a11y/datasets/gold.json +7961 -0
- package/lib/es6/a11y/datasets/imdb.json +10002 -0
- package/lib/es6/a11y/datasets/readme.md +5 -0
- package/lib/es6/a11y/datasets/stores.json +6274 -0
- package/lib/es6/a11y/datasets/titanic.json +5436 -0
- package/lib/es6/a11y/focus.js +48 -0
- package/lib/es6/a11y/focus.js.map +1 -0
- package/lib/es6/a11y/hints.js +123 -0
- package/lib/es6/a11y/hints.js.map +1 -0
- package/lib/es6/a11y/insights.js +779 -0
- package/lib/es6/a11y/insights.js.map +1 -0
- package/lib/es6/a11y/intl.js +18 -0
- package/lib/es6/a11y/intl.js.map +1 -0
- package/lib/es6/a11y/locale.js +36 -0
- package/lib/es6/a11y/locale.js.map +1 -0
- package/lib/es6/a11y/serialize.js +423 -0
- package/lib/es6/a11y/serialize.js.map +1 -0
- package/lib/es6/a11y/summarize.js +10 -0
- package/lib/es6/a11y/summarize.js.map +1 -0
- package/lib/es6/a11y/translations/module/de.json +5 -0
- package/lib/es6/a11y/translations/module/en.json +5 -0
- package/lib/es6/a11y/translations/module/es.json +5 -0
- package/lib/es6/a11y/translations/module/fr.json +5 -0
- package/lib/es6/a11y/translations/module/it.json +5 -0
- package/lib/es6/a11y/translations/module/ja.json +5 -0
- package/lib/es6/a11y/translations/module/ko.json +5 -0
- package/lib/es6/a11y/translations/module/pt.json +5 -0
- package/lib/es6/a11y/translations/module/tr.json +5 -0
- package/lib/es6/a11y/translations/module/translations.js +25 -0
- package/lib/es6/a11y/translations/module/translations.js.map +1 -0
- package/lib/es6/a11y/translations/module/vi.json +5 -0
- package/lib/es6/a11y/translations/module/zh.json +5 -0
- package/lib/es6/a11y/translations/view/de.json +42 -0
- package/lib/es6/a11y/translations/view/en.csv +41 -0
- package/lib/es6/a11y/translations/view/en.json +42 -0
- package/lib/es6/a11y/translations/view/es.json +42 -0
- package/lib/es6/a11y/translations/view/fr.json +42 -0
- package/lib/es6/a11y/translations/view/it.json +42 -0
- package/lib/es6/a11y/translations/view/ja.json +42 -0
- package/lib/es6/a11y/translations/view/ko.json +42 -0
- package/lib/es6/a11y/translations/view/pt.json +42 -0
- package/lib/es6/a11y/translations/view/tr.json +42 -0
- package/lib/es6/a11y/translations/view/translations.js +25 -0
- package/lib/es6/a11y/translations/view/translations.js.map +1 -0
- package/lib/es6/a11y/translations/view/vi.json +42 -0
- package/lib/es6/a11y/translations/view/zh.json +42 -0
- package/lib/es6/createElement.js +3 -1
- package/lib/es6/createElement.js.map +1 -1
- package/lib/es6/style/plot.shadow.css +10 -0
- package/lib/es6/style/plotA11yModule.shadow.css +13 -0
- package/lib/es6/style/plotA11yView.shadow.css +39 -0
- package/lib/es6/types/Plot.d.ts +75 -0
- package/lib/es6/utils.js +5 -0
- package/lib/es6/utils.js.map +1 -1
- package/lib/types/Plot.d.ts +75 -0
- package/lib/types/a11y/PlotA11yModule.d.ts +12 -0
- package/lib/types/a11y/PlotA11yView.d.ts +3 -0
- package/lib/types/a11y/bezier.d.ts +8 -0
- package/lib/types/a11y/datasets/charts-a11y.d.ts +0 -0
- package/lib/types/a11y/focus.d.ts +5 -0
- package/lib/types/a11y/hints.d.ts +99 -0
- package/lib/types/a11y/insights.d.ts +54 -0
- package/lib/types/a11y/intl.d.ts +8 -0
- package/lib/types/a11y/locale.d.ts +3 -0
- package/lib/types/a11y/serialize.d.ts +16 -0
- package/lib/types/a11y/summarize.d.ts +2 -0
- package/lib/types/a11y/translations/module/translations.d.ts +5 -0
- package/lib/types/a11y/translations/view/translations.d.ts +5 -0
- package/lib/types/utils.d.ts +1 -0
- package/package.json +3 -2
package/lib/cjs/Bubble.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bubble.js","names":["BubbleRoot","canUseDOM","document","createElement","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","width","height","top","right","bottom","left","duration","uid","data","value","z","scaleSqrt","domain","Math","max","map","el","range","selectRect","transition","selection","selectAll","attr","selectRectNode","node","_","ind","animationCircle","d","i","color","scale","offset","styles","label","markedCross","size","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","min","labelPosition","measureText","labelDistance","sstyled","bindHandlerTooltip","xIndex","xSize","abs","ySize","xMargin","yMargin","renderCircle","bind","Component","style","uniqueIDEnhancement","Bubble"],"sources":["../../src/Bubble.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { CONSTANT, measureText } from './utils';\nimport createElement from './createElement';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { transition } from 'd3-transition';\nimport style from './style/bubble.shadow.css';\nimport ClipPath from './ClipPath';\nimport { scaleSqrt } from 'd3-scale';\n\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 =\n (visible, props) =>\n ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n animationCircle() {\n const { duration, uid, data, value } = this.asProps;\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const selectRect = transition().selection().selectAll(`[id^=${uid}${uid}]`).attr('r', 0);\n\n const selectRectNode = selectRect.node();\n if (duration > 0 && selectRectNode) {\n selectRect\n .transition()\n .duration(duration)\n .attr('r', function (_, ind) {\n return z(data[ind][value]);\n });\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n offset,\n styles,\n uid,\n duration,\n value,\n label,\n markedCross,\n size,\n data,\n } = this.asProps;\n const [xScale, yScale] = scale;\n\n const SBubble = this.Element;\n const SCenter = 'text';\n const SLabel = 'text';\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const margin = Math.min(xScale.range()[0], xScale.range()[1]);\n\n const labelPosition =\n size[0] - 2 * margin - (xScale(d[x]) + offset[0] + z(d[value])) < measureText(d[label])\n ? 'right'\n : 'left';\n const labelDistance = {\n right: xScale(d[x]) + offset[0] - z(d[value]),\n left: xScale(d[x]) + offset[0] + z(d[value]),\n }[labelPosition];\n\n return sstyled(styles)(\n <g\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, { ...this.props, xIndex: i })}\n onMouseLeave={this.bindHandlerTooltip(false, { ...this.props, xIndex: i })}\n >\n {markedCross && (\n <SCenter\n x={xScale(d[x]) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n dy=\".3em\"\n clipPath={`url(#${uid})`}\n color={d[color] ?? color}\n >\n +\n </SCenter>\n )}\n <SBubble\n id={`${uid}${uid}`}\n 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 />\n {d[label] && (\n <SLabel\n x={labelDistance}\n y={yScale(d[y]) + offset[1]}\n dy=\".3em\"\n clipPath={`url(#${uid})`}\n position={labelPosition}\n color={d[color]}\n >\n {d[label]}\n </SLabel>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n {data.map(this.animationCircle.bind(this))}\n <ClipPath id={uid} x={xMargin} y={yMargin} width={`${xSize}px`} height={`${ySize}px`} />\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":["BubbleRoot","canUseDOM","document","createElement","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","width","height","top","right","bottom","left","duration","uid","data","value","z","scaleSqrt","domain","Math","max","map","el","range","selectRect","transition","selection","selectAll","attr","selectRectNode","node","_","ind","animationCircle","d","i","color","scale","offset","styles","label","markedCross","size","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","min","labelPosition","measureText","labelDistance","sstyled","bindHandlerTooltip","xIndex","xSize","abs","ySize","xMargin","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","renderCircle","bind","Component","style","uniqueIDEnhancement","Bubble"],"sources":["../../src/Bubble.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport { CONSTANT, measureText } from './utils';\nimport createElement from './createElement';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { transition } from 'd3-transition';\nimport style from './style/bubble.shadow.css';\nimport ClipPath from './ClipPath';\nimport { scaleSqrt } from 'd3-scale';\n\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 =\n (visible, props) =>\n ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n animationCircle() {\n const { duration, uid, data, value } = this.asProps;\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const selectRect = transition().selection().selectAll(`[id^=${uid}${uid}]`).attr('r', 0);\n\n const selectRectNode = selectRect.node();\n if (duration > 0 && selectRectNode) {\n selectRect\n .transition()\n .duration(duration)\n .attr('r', function (_, ind) {\n return z(data[ind][value]);\n });\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n offset,\n styles,\n uid,\n duration,\n value,\n label,\n markedCross,\n size,\n data,\n } = this.asProps;\n const [xScale, yScale] = scale;\n\n const SBubble = this.Element;\n const SCenter = 'text';\n const SLabel = 'text';\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const margin = Math.min(xScale.range()[0], xScale.range()[1]);\n\n const labelPosition =\n size[0] - 2 * margin - (xScale(d[x]) + offset[0] + z(d[value])) < measureText(d[label])\n ? 'right'\n : 'left';\n const labelDistance = {\n right: xScale(d[x]) + offset[0] - z(d[value]),\n left: xScale(d[x]) + offset[0] + z(d[value]),\n }[labelPosition];\n\n return sstyled(styles)(\n <g\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, { ...this.props, xIndex: i })}\n onMouseLeave={this.bindHandlerTooltip(false, { ...this.props, xIndex: i })}\n >\n {markedCross && (\n <SCenter\n 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 >\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 />\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 >\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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"}
|
package/lib/cjs/ClipPath.js
CHANGED
|
@@ -106,6 +106,7 @@ var ClipPath = /*#__PURE__*/function (_Component) {
|
|
|
106
106
|
className = _this$asProps2.className,
|
|
107
107
|
other = (0, _objectWithoutProperties2["default"])(_this$asProps2, _excluded);
|
|
108
108
|
return /*#__PURE__*/_react["default"].createElement("clipPath", {
|
|
109
|
+
"aria-hidden": true,
|
|
109
110
|
ref: this.refClipPath,
|
|
110
111
|
id: id
|
|
111
112
|
}, /*#__PURE__*/_react["default"].createElement(Tag, (0, _extends2["default"])({
|
package/lib/cjs/ClipPath.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClipPath.js","names":["ClipPath","React","createRef","asProps","id","tag","setAttributeTag","Array","from","document","querySelectorAll","forEach","querySelector","svg","closest","node","getTotalLength","transition","Tag","style","className","other","refClipPath","propsForElement","Component","createComponent"],"sources":["../../src/ClipPath.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component } from '@semcore/core';\nimport propsForElement from '@semcore/utils/lib/propsForElement';\n\nclass ClipPath extends Component {\n static defaultProps = {\n tag: 'rect',\n id: '',\n transition: '',\n setAttributeTag: null,\n };\n\n refClipPath = React.createRef();\n\n setAttributeTag() {\n const { id, tag, setAttributeTag } = this.asProps;\n if (setAttributeTag) {\n Array.from(document.querySelectorAll(`#${id} ${tag}`)).forEach(setAttributeTag);\n }\n }\n\n componentDidMount() {\n const { id } = this.asProps;\n if (!document || !id || !document.querySelector(`#${id}`)) return;\n const svg = document.querySelector(`#${id}`).closest('svg');\n Array.from(svg.querySelectorAll(`[clip-path=\"url(#${id})\"]`)).forEach((node) => {\n node && node.getTotalLength && node.getTotalLength();\n });\n this.setAttributeTag();\n }\n\n componentDidUpdate() {\n this.setAttributeTag();\n }\n\n render() {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { id, transition, tag: Tag, style, className, ...other } = this.asProps;\n return (\n <clipPath ref={this.refClipPath} id={id}>\n <Tag style={{ ...style, transition }} {...propsForElement(other, Tag)} />\n </clipPath>\n );\n }\n}\n\nexport default createComponent(ClipPath);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;;;;;;IAEMA,Q;;;;;;;;;;;;;;;iHAQUC,iBAAA,CAAMC,SAAN,E;;;;;;WAEd,2BAAkB;MAChB,oBAAqC,KAAKC,OAA1C;MAAA,IAAQC,EAAR,iBAAQA,EAAR;MAAA,IAAYC,GAAZ,iBAAYA,GAAZ;MAAA,IAAiBC,eAAjB,iBAAiBA,eAAjB;;MACA,IAAIA,eAAJ,EAAqB;QACnBC,KAAK,CAACC,IAAN,CAAWC,QAAQ,CAACC,gBAAT,YAA8BN,EAA9B,cAAoCC,GAApC,EAAX,EAAuDM,OAAvD,CAA+DL,eAA/D;MACD;IACF;;;WAED,6BAAoB;MAClB,IAAQF,EAAR,GAAe,KAAKD,OAApB,CAAQC,EAAR;MACA,IAAI,CAACK,QAAD,IAAa,CAACL,EAAd,IAAoB,CAACK,QAAQ,CAACG,aAAT,YAA2BR,EAA3B,EAAzB,EAA2D;MAC3D,IAAMS,GAAG,GAAGJ,QAAQ,CAACG,aAAT,YAA2BR,EAA3B,GAAiCU,OAAjC,CAAyC,KAAzC,CAAZ;MACAP,KAAK,CAACC,IAAN,CAAWK,GAAG,CAACH,gBAAJ,6BAAyCN,EAAzC,UAAX,EAA8DO,OAA9D,CAAsE,UAACI,IAAD,EAAU;QAC9EA,IAAI,IAAIA,IAAI,CAACC,cAAb,IAA+BD,IAAI,CAACC,cAAL,EAA/B;MACD,CAFD;MAGA,KAAKV,eAAL;IACD;;;WAED,8BAAqB;MACnB,KAAKA,eAAL;IACD;;;WAED,kBAAS;MACP;MACA,qBAAiE,KAAKH,OAAtE;MAAA,IAAQC,EAAR,kBAAQA,EAAR;MAAA,IAAYa,UAAZ,kBAAYA,UAAZ;MAAA,IAA6BC,GAA7B,kBAAwBb,GAAxB;MAAA,IAAkCc,KAAlC,kBAAkCA,KAAlC;MAAA,IAAyCC,SAAzC,kBAAyCA,SAAzC;MAAA,IAAuDC,KAAvD;MACA,oBACE;QAAU,GAAG,EAAE,KAAKC,
|
|
1
|
+
{"version":3,"file":"ClipPath.js","names":["ClipPath","React","createRef","asProps","id","tag","setAttributeTag","Array","from","document","querySelectorAll","forEach","querySelector","svg","closest","node","getTotalLength","transition","Tag","style","className","other","refClipPath","propsForElement","Component","createComponent"],"sources":["../../src/ClipPath.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component } from '@semcore/core';\nimport propsForElement from '@semcore/utils/lib/propsForElement';\n\nclass ClipPath extends Component {\n static defaultProps = {\n tag: 'rect',\n id: '',\n transition: '',\n setAttributeTag: null,\n };\n\n refClipPath = React.createRef();\n\n setAttributeTag() {\n const { id, tag, setAttributeTag } = this.asProps;\n if (setAttributeTag) {\n Array.from(document.querySelectorAll(`#${id} ${tag}`)).forEach(setAttributeTag);\n }\n }\n\n componentDidMount() {\n const { id } = this.asProps;\n if (!document || !id || !document.querySelector(`#${id}`)) return;\n const svg = document.querySelector(`#${id}`).closest('svg');\n Array.from(svg.querySelectorAll(`[clip-path=\"url(#${id})\"]`)).forEach((node) => {\n node && node.getTotalLength && node.getTotalLength();\n });\n this.setAttributeTag();\n }\n\n componentDidUpdate() {\n this.setAttributeTag();\n }\n\n render() {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { id, transition, tag: Tag, style, className, ...other } = this.asProps;\n return (\n <clipPath aria-hidden ref={this.refClipPath} id={id}>\n <Tag style={{ ...style, transition }} {...propsForElement(other, Tag)} />\n </clipPath>\n );\n }\n}\n\nexport default createComponent(ClipPath);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;;;;;;IAEMA,Q;;;;;;;;;;;;;;;iHAQUC,iBAAA,CAAMC,SAAN,E;;;;;;WAEd,2BAAkB;MAChB,oBAAqC,KAAKC,OAA1C;MAAA,IAAQC,EAAR,iBAAQA,EAAR;MAAA,IAAYC,GAAZ,iBAAYA,GAAZ;MAAA,IAAiBC,eAAjB,iBAAiBA,eAAjB;;MACA,IAAIA,eAAJ,EAAqB;QACnBC,KAAK,CAACC,IAAN,CAAWC,QAAQ,CAACC,gBAAT,YAA8BN,EAA9B,cAAoCC,GAApC,EAAX,EAAuDM,OAAvD,CAA+DL,eAA/D;MACD;IACF;;;WAED,6BAAoB;MAClB,IAAQF,EAAR,GAAe,KAAKD,OAApB,CAAQC,EAAR;MACA,IAAI,CAACK,QAAD,IAAa,CAACL,EAAd,IAAoB,CAACK,QAAQ,CAACG,aAAT,YAA2BR,EAA3B,EAAzB,EAA2D;MAC3D,IAAMS,GAAG,GAAGJ,QAAQ,CAACG,aAAT,YAA2BR,EAA3B,GAAiCU,OAAjC,CAAyC,KAAzC,CAAZ;MACAP,KAAK,CAACC,IAAN,CAAWK,GAAG,CAACH,gBAAJ,6BAAyCN,EAAzC,UAAX,EAA8DO,OAA9D,CAAsE,UAACI,IAAD,EAAU;QAC9EA,IAAI,IAAIA,IAAI,CAACC,cAAb,IAA+BD,IAAI,CAACC,cAAL,EAA/B;MACD,CAFD;MAGA,KAAKV,eAAL;IACD;;;WAED,8BAAqB;MACnB,KAAKA,eAAL;IACD;;;WAED,kBAAS;MACP;MACA,qBAAiE,KAAKH,OAAtE;MAAA,IAAQC,EAAR,kBAAQA,EAAR;MAAA,IAAYa,UAAZ,kBAAYA,UAAZ;MAAA,IAA6BC,GAA7B,kBAAwBb,GAAxB;MAAA,IAAkCc,KAAlC,kBAAkCA,KAAlC;MAAA,IAAyCC,SAAzC,kBAAyCA,SAAzC;MAAA,IAAuDC,KAAvD;MACA,oBACE;QAAU,mBAAV;QAAsB,GAAG,EAAE,KAAKC,WAAhC;QAA6C,EAAE,EAAElB;MAAjD,gBACE,gCAAC,GAAD;QAAK,KAAK,kCAAOe,KAAP;UAAcF,UAAU,EAAVA;QAAd;MAAV,GAA0C,IAAAM,2BAAA,EAAgBF,KAAhB,EAAuBH,GAAvB,CAA1C,EADF,CADF;IAKD;;;EAvCoBM,e;;iCAAjBxB,Q,kBACkB;EACpBK,GAAG,EAAE,MADe;EAEpBD,EAAE,EAAE,EAFgB;EAGpBa,UAAU,EAAE,EAHQ;EAIpBX,eAAe,EAAE;AAJG,C;;eAyCT,IAAAmB,gBAAA,EAAgBzB,QAAhB,C"}
|
package/lib/cjs/Donut.js
CHANGED
|
@@ -47,7 +47,7 @@ var _d3Interpolate = require("d3-interpolate");
|
|
|
47
47
|
|
|
48
48
|
var _d3Transition = require("d3-transition");
|
|
49
49
|
|
|
50
|
-
var _excluded = ["Element", "styles", "d3Arc", "data", "color", "$animationActivePie", "active", "d3ArcOut"];
|
|
50
|
+
var _excluded = ["Element", "styles", "d3Arc", "data", "color", "$animationActivePie", "active", "d3ArcOut", "name", "dataKey", "dataHintsHandler"];
|
|
51
51
|
|
|
52
52
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
53
53
|
|
|
@@ -66,16 +66,16 @@ var style = (
|
|
|
66
66
|
/*__reshadow_css_start__*/
|
|
67
67
|
_core.sstyled.insert(
|
|
68
68
|
/*__inner_css_start__*/
|
|
69
|
-
".
|
|
69
|
+
".___SPie_1l9zn_gg_{stroke:#fff;fill:#2bb3ff}.___SPie_1l9zn_gg_.__color_1l9zn_gg_{fill:var(--color_1l9zn)}.___SEmptyData_1l9zn_gg_{fill:#e0e1e9}.___SEmptyData_1l9zn_gg_.__color_1l9zn_gg_{fill:var(--color_1l9zn)}.___SLabel_1l9zn_gg_{text-anchor:middle;vertical-anchor:middle}"
|
|
70
70
|
/*__inner_css_end__*/
|
|
71
|
-
, "
|
|
71
|
+
, "1l9zn_gg_")
|
|
72
72
|
/*__reshadow_css_end__*/
|
|
73
73
|
, {
|
|
74
|
-
"__SPie": "
|
|
75
|
-
"_color": "
|
|
76
|
-
"--color": "--
|
|
77
|
-
"__SEmptyData": "
|
|
78
|
-
"__SLabel": "
|
|
74
|
+
"__SPie": "___SPie_1l9zn_gg_",
|
|
75
|
+
"_color": "__color_1l9zn_gg_",
|
|
76
|
+
"--color": "--color_1l9zn",
|
|
77
|
+
"__SEmptyData": "___SEmptyData_1l9zn_gg_",
|
|
78
|
+
"__SLabel": "___SLabel_1l9zn_gg_"
|
|
79
79
|
});
|
|
80
80
|
var DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');
|
|
81
81
|
|
|
@@ -380,6 +380,7 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
380
380
|
var _this$asProps7 = this.asProps,
|
|
381
381
|
halfsize = _this$asProps7.halfsize,
|
|
382
382
|
size = _this$asProps7.size;
|
|
383
|
+
this.asProps.dataHintsHandler.establishDataType('values-set');
|
|
383
384
|
|
|
384
385
|
var _size2 = (0, _slicedToArray2["default"])(size, 2),
|
|
385
386
|
width = _size2[0],
|
|
@@ -389,6 +390,7 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
389
390
|
var k = halfsize ? 1 : 2;
|
|
390
391
|
this.arcs = this.getArcs();
|
|
391
392
|
return /*#__PURE__*/_react["default"].createElement(Element, {
|
|
393
|
+
"aria-hidden": true,
|
|
392
394
|
id: this.id,
|
|
393
395
|
render: "g",
|
|
394
396
|
childrenPosition: "inside",
|
|
@@ -450,6 +452,9 @@ function Pie(_ref15) {
|
|
|
450
452
|
$animationActivePie = _ref15.$animationActivePie,
|
|
451
453
|
active = _ref15.active,
|
|
452
454
|
d3ArcOut = _ref15.d3ArcOut,
|
|
455
|
+
name = _ref15.name,
|
|
456
|
+
dataKey = _ref15.dataKey,
|
|
457
|
+
dataHintsHandler = _ref15.dataHintsHandler,
|
|
453
458
|
other = (0, _objectWithoutProperties2["default"])(_ref15, _excluded);
|
|
454
459
|
|
|
455
460
|
var _useState = (0, _react.useState)(false),
|
|
@@ -458,14 +463,13 @@ function Pie(_ref15) {
|
|
|
458
463
|
setIsMount = _useState2[1];
|
|
459
464
|
|
|
460
465
|
(0, _react.useEffect)(function () {
|
|
461
|
-
//
|
|
466
|
+
// do not run animation on first render
|
|
462
467
|
if (!isMount) {
|
|
463
468
|
setIsMount(true);
|
|
464
469
|
return;
|
|
465
470
|
}
|
|
466
471
|
|
|
467
472
|
if (active !== undefined && active !== null) {
|
|
468
|
-
//name must unique on page
|
|
469
473
|
$animationActivePie(_objectSpread(_objectSpread({}, other), {}, {
|
|
470
474
|
active: active,
|
|
471
475
|
data: data,
|
|
@@ -473,6 +477,8 @@ function Pie(_ref15) {
|
|
|
473
477
|
}));
|
|
474
478
|
}
|
|
475
479
|
}, [active]);
|
|
480
|
+
dataHintsHandler.establishDataType('values-set');
|
|
481
|
+
dataHintsHandler.describeValueEntity(dataKey, name);
|
|
476
482
|
return _ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SPie, _ref.cn("SPie", {
|
|
477
483
|
"render": "path",
|
|
478
484
|
"color": color,
|
|
@@ -502,11 +508,15 @@ function Label(_ref17) {
|
|
|
502
508
|
|
|
503
509
|
var SLabel = _ref17.Element,
|
|
504
510
|
styles = _ref17.styles,
|
|
505
|
-
Children = _ref17.Children
|
|
511
|
+
Children = _ref17.Children,
|
|
512
|
+
children = _ref17.children,
|
|
513
|
+
dataHintsHandler = _ref17.dataHintsHandler;
|
|
514
|
+
dataHintsHandler.setTitle('vertical', children);
|
|
506
515
|
return _ref3 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SLabel, _ref3.cn("SLabel", {
|
|
507
516
|
"render": "text",
|
|
508
517
|
"x": "0",
|
|
509
|
-
"y": "0"
|
|
518
|
+
"y": "0",
|
|
519
|
+
"aria-hidden": true
|
|
510
520
|
}), /*#__PURE__*/_react["default"].createElement(Children, _ref3.cn("Children", {})));
|
|
511
521
|
}
|
|
512
522
|
|
package/lib/cjs/Donut.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Donut.js","names":["DEFAULT_INSTANCE","Symbol","animationInitialPie","halfsize","d3Arc","d3ArcOut","arcs","activeIndexPie","_","ind","d","iStart","interpolate","Math","PI","startAngle","iEnd","endAngle","t","animationUpdatePie","_current","i","animationHoverPie","selector","duration","innerRadius","outerRadius","transition","selection","select","attrTween","min","max","arc","increaseFactor","getOuterRadius","size","width","height","minORmax","DonutRoot","canUseDOM","document","createElement","undefined","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","active","data","id","uid","top","right","bottom","left","Children","d3Pie","pieData","Object","entries","keys","React","toArray","getOriginChildren","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","key","includes","sort","a","b","indexOf","minValue","cur","map","find","$animationActivePie","animationActivePie","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","prevProps","$rootProps","selectAll","each","Element","k","getArcs","Component","style","uniqueIDEnhancement","pie","value","SPie","styles","color","other","useState","isMount","setIsMount","useEffect","name","sstyled","EmptyData","SEmptyData","Label","SLabel"],"sources":["../../src/Donut.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { arc, pie } from 'd3-shape';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport { CONSTANT } from './utils';\nimport createElement from './createElement';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { interpolate } from 'd3-interpolate';\nimport { transition } from 'd3-transition';\n\nimport style from './style/donut.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\n\nfunction animationInitialPie({ halfsize, d3Arc, d3ArcOut, arcs, activeIndexPie }) {\n return function (_, ind) {\n const d = arcs[ind];\n if (!d) return () => '';\n const iStart = interpolate(halfsize ? -Math.PI / 2 : 0, d.startAngle);\n const iEnd = interpolate(halfsize ? -Math.PI / 2 : 0, d.endAngle);\n return function (t) {\n d.startAngle = iStart(t);\n d.endAngle = iEnd(t);\n return ind === activeIndexPie ? d3ArcOut(d) : d3Arc(d);\n };\n };\n}\n\nfunction animationUpdatePie({ halfsize, arcs, d3Arc }) {\n return function (_, ind) {\n const d = arcs[ind];\n if (this._current) {\n const i = interpolate(this._current, d);\n this._current = i(0);\n return function (t) {\n return d3Arc(i(t));\n };\n } else {\n this._current = d;\n return animationInitialPie({ halfsize, arcs, d3Arc })(_, ind);\n }\n };\n}\n\nfunction animationHoverPie({ d, selector, duration, innerRadius, outerRadius }) {\n if (duration > 0) {\n transition()\n .selection()\n .select(selector)\n .transition()\n .duration(duration)\n .attrTween('d', function () {\n if (!d) return () => '';\n const [min, max] = outerRadius;\n const i = interpolate(min, max);\n return function (t) {\n const d3ArcOut = arc().innerRadius(innerRadius).outerRadius(i(t));\n return d3ArcOut(d);\n };\n });\n }\n}\n\nconst increaseFactor = 8;\n\nfunction getOuterRadius({ size, halfsize, outerRadius }) {\n const [width, height] = size;\n const minORmax = halfsize ? Math.max : Math.min;\n return outerRadius || minORmax(width - increaseFactor * 2, height - increaseFactor * 2) / 2;\n}\n\nclass DonutRoot extends Component {\n static displayName = 'Donut';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({\n innerRadius = 0,\n outerRadius,\n halfsize = false,\n $rootProps: { size },\n }) => {\n const d3Arc = arc()\n .outerRadius(getOuterRadius({ size, halfsize, outerRadius }))\n .innerRadius(innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius);\n\n const d3ArcOut = arc()\n .outerRadius(getOuterRadius({ size, halfsize, outerRadius }) + increaseFactor)\n .innerRadius(innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius);\n\n let d3Pie = pie()\n .sort(null)\n .value(([, value]) => value);\n d3Pie[DEFAULT_INSTANCE] = true;\n\n if (halfsize) {\n d3Pie = d3Pie.startAngle(-Math.PI / 2).endAngle(Math.PI / 2);\n }\n return {\n d3Pie,\n d3Arc,\n d3ArcOut,\n duration: 500,\n };\n };\n\n get id() {\n const { uid, id } = this.asProps;\n return id || uid;\n }\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n activeIndexPie = undefined;\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getArcs() {\n const { Children, data, d3Pie } = this.asProps;\n let pieData = Object.entries(data);\n\n if (d3Pie[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === Donut.Pie) {\n acc.push(child.props.dataKey);\n }\n return acc;\n }, []);\n pieData = Object.entries(data)\n .filter(([key]) => keys.includes(key))\n .sort(([a], [b]) => (keys.indexOf(a) > keys.indexOf(b) ? 1 : -1));\n }\n const minValue =\n pieData.reduce((acc, cur) => {\n if (cur[1]) acc += cur[1];\n return acc;\n }, 0) / 100;\n pieData = pieData.map((d) => {\n if (d[1] && d[1] < minValue) d[1] = minValue;\n return d;\n });\n return d3Pie(pieData);\n }\n\n bindHandlerTooltip =\n (visible, props) =>\n ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n animationActivePie = (props) => {\n let { duration, innerRadius } = this.asProps;\n const { active, data, selector } = props;\n innerRadius = innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius;\n const outerRadius = getOuterRadius(this.asProps);\n active\n ? animationHoverPie({\n d: data,\n selector: `#${this.id} ${selector}`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius, outerRadius + increaseFactor],\n })\n : animationHoverPie({\n d: data,\n selector: `#${this.id} ${selector}`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius + increaseFactor, outerRadius],\n });\n };\n\n getPieProps(props, ind) {\n const { d3Arc, d3ArcOut } = this.asProps;\n const { active } = props;\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n if (active) {\n this.activeIndexPie = ind;\n }\n\n return {\n data,\n d3Arc,\n d3ArcOut,\n $animationActivePie: this.animationActivePie,\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n onMouseOver: (e) => {\n !active &&\n this.animationActivePie({\n active: true,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n });\n },\n onMouseOut: (e) => {\n !active &&\n this.animationActivePie({\n active: false,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n });\n },\n };\n }\n\n getEmptyDataProps() {\n const { d3Arc } = this.asProps;\n return {\n d3Arc,\n };\n }\n\n componentDidUpdate(prevProps) {\n const { data, duration, d3Arc, halfsize } = this.asProps;\n const arcs = this.arcs;\n if (prevProps.$rootProps.data !== data && duration > 0) {\n transition()\n .selection()\n .selectAll(`#${this.id} [data-ui-name=\"Donut.Pie\"]`)\n .transition()\n .duration(duration)\n .attrTween('d', animationUpdatePie({ d3Arc, arcs, halfsize }));\n }\n }\n\n componentDidMount() {\n const { duration, d3Arc, halfsize, d3ArcOut } = this.asProps;\n const arcs = this.arcs;\n\n if (duration > 0) {\n transition()\n .selection()\n .selectAll(`#${this.id} [data-ui-name=\"Donut.Pie\"]`)\n .each(function (_, ind) {\n this._current = arcs[ind];\n })\n .transition()\n .duration(duration)\n .attrTween(\n 'd',\n animationInitialPie({\n halfsize,\n d3Arc,\n d3ArcOut,\n arcs,\n activeIndexPie: this.activeIndexPie,\n }),\n );\n }\n }\n\n render() {\n const { halfsize, size } = this.asProps;\n const [width, height] = size;\n const Element = this.Element;\n const k = halfsize ? 1 : 2;\n this.arcs = this.getArcs();\n return (\n <Element\n id={this.id}\n render=\"g\"\n childrenPosition=\"inside\"\n transform={`translate(${width / 2},${height / k})`}\n />\n );\n }\n}\n\nfunction Pie({\n Element: SPie,\n styles,\n d3Arc,\n data,\n color,\n $animationActivePie,\n active,\n d3ArcOut,\n ...other\n}) {\n const [isMount, setIsMount] = useState(false);\n useEffect(() => {\n //you should't run animation for first render\n if (!isMount) {\n setIsMount(true);\n return;\n }\n if (active !== undefined && active !== null) {\n //name must unique on page\n $animationActivePie({ ...other, active, data, selector: `[name=\"${other.name}\"]` });\n }\n }, [active]);\n return sstyled(styles)(\n <SPie render=\"path\" color={color} d={active ? d3ArcOut(data) : d3Arc(data)} />,\n );\n}\n\nfunction EmptyData({ Element: SEmptyData, styles, d3Arc, color }) {\n return sstyled(styles)(\n <SEmptyData render=\"path\" color={color} d={d3Arc({ endAngle: Math.PI * 2, startAngle: 0 })} />,\n );\n}\n\nfunction Label({ Element: SLabel, styles, Children }) {\n return sstyled(styles)(\n <SLabel render=\"text\" x=\"0\" y=\"0\">\n <Children />\n </SLabel>,\n );\n}\n\nconst Donut = createElement(DonutRoot, { Pie, Label, EmptyData });\n\nexport default Donut;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Donut.js","names":["DEFAULT_INSTANCE","Symbol","animationInitialPie","halfsize","d3Arc","d3ArcOut","arcs","activeIndexPie","_","ind","d","iStart","interpolate","Math","PI","startAngle","iEnd","endAngle","t","animationUpdatePie","_current","i","animationHoverPie","selector","duration","innerRadius","outerRadius","transition","selection","select","attrTween","min","max","arc","increaseFactor","getOuterRadius","size","width","height","minORmax","DonutRoot","canUseDOM","document","createElement","undefined","visible","props","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","active","data","id","uid","top","right","bottom","left","Children","d3Pie","pieData","Object","entries","keys","React","toArray","getOriginChildren","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","key","includes","sort","a","b","indexOf","minValue","cur","map","find","$animationActivePie","animationActivePie","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","prevProps","$rootProps","selectAll","each","dataHintsHandler","establishDataType","Element","k","getArcs","Component","style","uniqueIDEnhancement","pie","value","SPie","styles","color","name","other","useState","isMount","setIsMount","useEffect","describeValueEntity","sstyled","EmptyData","SEmptyData","Label","SLabel","children","setTitle"],"sources":["../../src/Donut.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { arc, pie } from 'd3-shape';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport { CONSTANT } from './utils';\nimport createElement from './createElement';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { interpolate } from 'd3-interpolate';\nimport { transition } from 'd3-transition';\n\nimport style from './style/donut.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\n\nfunction animationInitialPie({ halfsize, d3Arc, d3ArcOut, arcs, activeIndexPie }) {\n return function (_, ind) {\n const d = arcs[ind];\n if (!d) return () => '';\n const iStart = interpolate(halfsize ? -Math.PI / 2 : 0, d.startAngle);\n const iEnd = interpolate(halfsize ? -Math.PI / 2 : 0, d.endAngle);\n return function (t) {\n d.startAngle = iStart(t);\n d.endAngle = iEnd(t);\n return ind === activeIndexPie ? d3ArcOut(d) : d3Arc(d);\n };\n };\n}\n\nfunction animationUpdatePie({ halfsize, arcs, d3Arc }) {\n return function (_, ind) {\n const d = arcs[ind];\n if (this._current) {\n const i = interpolate(this._current, d);\n this._current = i(0);\n return function (t) {\n return d3Arc(i(t));\n };\n } else {\n this._current = d;\n return animationInitialPie({ halfsize, arcs, d3Arc })(_, ind);\n }\n };\n}\n\nfunction animationHoverPie({ d, selector, duration, innerRadius, outerRadius }) {\n if (duration > 0) {\n transition()\n .selection()\n .select(selector)\n .transition()\n .duration(duration)\n .attrTween('d', function () {\n if (!d) return () => '';\n const [min, max] = outerRadius;\n const i = interpolate(min, max);\n return function (t) {\n const d3ArcOut = arc().innerRadius(innerRadius).outerRadius(i(t));\n return d3ArcOut(d);\n };\n });\n }\n}\n\nconst increaseFactor = 8;\n\nfunction getOuterRadius({ size, halfsize, outerRadius }) {\n const [width, height] = size;\n const minORmax = halfsize ? Math.max : Math.min;\n return outerRadius || minORmax(width - increaseFactor * 2, height - increaseFactor * 2) / 2;\n}\n\nclass DonutRoot extends Component {\n static displayName = 'Donut';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({\n innerRadius = 0,\n outerRadius,\n halfsize = false,\n $rootProps: { size },\n }) => {\n const d3Arc = arc()\n .outerRadius(getOuterRadius({ size, halfsize, outerRadius }))\n .innerRadius(innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius);\n\n const d3ArcOut = arc()\n .outerRadius(getOuterRadius({ size, halfsize, outerRadius }) + increaseFactor)\n .innerRadius(innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius);\n\n let d3Pie = pie()\n .sort(null)\n .value(([, value]) => value);\n d3Pie[DEFAULT_INSTANCE] = true;\n\n if (halfsize) {\n d3Pie = d3Pie.startAngle(-Math.PI / 2).endAngle(Math.PI / 2);\n }\n return {\n d3Pie,\n d3Arc,\n d3ArcOut,\n duration: 500,\n };\n };\n\n get id() {\n const { uid, id } = this.asProps;\n return id || uid;\n }\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n activeIndexPie = undefined;\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getArcs() {\n const { Children, data, d3Pie } = this.asProps;\n let pieData = Object.entries(data);\n\n if (d3Pie[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === Donut.Pie) {\n acc.push(child.props.dataKey);\n }\n return acc;\n }, []);\n pieData = Object.entries(data)\n .filter(([key]) => keys.includes(key))\n .sort(([a], [b]) => (keys.indexOf(a) > keys.indexOf(b) ? 1 : -1));\n }\n const minValue =\n pieData.reduce((acc, cur) => {\n if (cur[1]) acc += cur[1];\n return acc;\n }, 0) / 100;\n pieData = pieData.map((d) => {\n if (d[1] && d[1] < minValue) d[1] = minValue;\n return d;\n });\n return d3Pie(pieData);\n }\n\n bindHandlerTooltip =\n (visible, props) =>\n ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n animationActivePie = (props) => {\n let { duration, innerRadius } = this.asProps;\n const { active, data, selector } = props;\n innerRadius = innerRadius > increaseFactor ? innerRadius - increaseFactor : innerRadius;\n const outerRadius = getOuterRadius(this.asProps);\n active\n ? animationHoverPie({\n d: data,\n selector: `#${this.id} ${selector}`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius, outerRadius + increaseFactor],\n })\n : animationHoverPie({\n d: data,\n selector: `#${this.id} ${selector}`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadius: [outerRadius + increaseFactor, outerRadius],\n });\n };\n\n getPieProps(props, ind) {\n const { d3Arc, d3ArcOut } = this.asProps;\n const { active } = props;\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n if (active) {\n this.activeIndexPie = ind;\n }\n\n return {\n data,\n d3Arc,\n d3ArcOut,\n $animationActivePie: this.animationActivePie,\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n onMouseOver: (e) => {\n !active &&\n this.animationActivePie({\n active: true,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n });\n },\n onMouseOut: (e) => {\n !active &&\n this.animationActivePie({\n active: false,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n });\n },\n };\n }\n\n getEmptyDataProps() {\n const { d3Arc } = this.asProps;\n return {\n d3Arc,\n };\n }\n\n componentDidUpdate(prevProps) {\n const { data, duration, d3Arc, halfsize } = this.asProps;\n const arcs = this.arcs;\n if (prevProps.$rootProps.data !== data && duration > 0) {\n transition()\n .selection()\n .selectAll(`#${this.id} [data-ui-name=\"Donut.Pie\"]`)\n .transition()\n .duration(duration)\n .attrTween('d', animationUpdatePie({ d3Arc, arcs, halfsize }));\n }\n }\n\n componentDidMount() {\n const { duration, d3Arc, halfsize, d3ArcOut } = this.asProps;\n const arcs = this.arcs;\n\n if (duration > 0) {\n transition()\n .selection()\n .selectAll(`#${this.id} [data-ui-name=\"Donut.Pie\"]`)\n .each(function (_, ind) {\n this._current = arcs[ind];\n })\n .transition()\n .duration(duration)\n .attrTween(\n 'd',\n animationInitialPie({\n halfsize,\n d3Arc,\n d3ArcOut,\n arcs,\n activeIndexPie: this.activeIndexPie,\n }),\n );\n }\n }\n\n render() {\n const { halfsize, size } = this.asProps;\n 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 ...other\n}) {\n const [isMount, setIsMount] = useState(false);\n\n useEffect(() => {\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({ ...other, active, data, selector: `[name=\"${other.name}\"]` });\n }\n }, [active]);\n\n dataHintsHandler.establishDataType('values-set');\n dataHintsHandler.describeValueEntity(dataKey, name);\n\n return sstyled(styles)(\n <SPie render=\"path\" color={color} d={active ? d3ArcOut(data) : d3Arc(data)} />,\n );\n}\n\nfunction EmptyData({ Element: SEmptyData, styles, d3Arc, color }) {\n return sstyled(styles)(\n <SEmptyData render=\"path\" color={color} d={d3Arc({ endAngle: Math.PI * 2, startAngle: 0 })} />,\n );\n}\n\nfunction Label({ Element: SLabel, styles, Children, children, dataHintsHandler }) {\n dataHintsHandler.setTitle('vertical', 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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"}
|
package/lib/cjs/Dots.js
CHANGED
|
@@ -32,18 +32,18 @@ var style = (
|
|
|
32
32
|
/*__reshadow_css_start__*/
|
|
33
33
|
_core.sstyled.insert(
|
|
34
34
|
/*__inner_css_start__*/
|
|
35
|
-
".
|
|
35
|
+
".___SDots_6grui_gg_ .___SDot_6grui_gg_{transition-duration:var(--duration_6grui)}.___SDot_6grui_gg_{stroke-width:2px;stroke:#fff;r:6px;fill:#2bb3ff;transition-property:cx,cy;transition-timing-function:ease-in-out}.___SDot_6grui_gg_.__hide_6grui_gg_{display:none}.___SDot_6grui_gg_.__active_6grui_gg_{r:8px}.___SDot_6grui_gg_.__color_6grui_gg_{fill:var(--color_6grui)}"
|
|
36
36
|
/*__inner_css_end__*/
|
|
37
|
-
, "
|
|
37
|
+
, "6grui_gg_")
|
|
38
38
|
/*__reshadow_css_end__*/
|
|
39
39
|
, {
|
|
40
|
-
"__SDots": "
|
|
41
|
-
"__SDot": "
|
|
42
|
-
"--duration": "--
|
|
43
|
-
"_hide": "
|
|
44
|
-
"_active": "
|
|
45
|
-
"_color": "
|
|
46
|
-
"--color": "--
|
|
40
|
+
"__SDots": "___SDots_6grui_gg_",
|
|
41
|
+
"__SDot": "___SDot_6grui_gg_",
|
|
42
|
+
"--duration": "--duration_6grui",
|
|
43
|
+
"_hide": "__hide_6grui_gg_",
|
|
44
|
+
"_active": "__active_6grui_gg_",
|
|
45
|
+
"_color": "__color_6grui_gg_",
|
|
46
|
+
"--color": "--color_6grui"
|
|
47
47
|
});
|
|
48
48
|
var EXCLUDE_PROPS = ['data', 'scale', 'value', 'display'];
|
|
49
49
|
|
|
@@ -109,6 +109,7 @@ function Dots(props) {
|
|
|
109
109
|
if (!d3.defined()(d)) return acc;
|
|
110
110
|
if (!visible) return acc;
|
|
111
111
|
acc.push((_ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SDot, _ref.cn("SDot", {
|
|
112
|
+
"aria-hidden": true,
|
|
112
113
|
"key": i,
|
|
113
114
|
"render": "circle",
|
|
114
115
|
"visible": visible,
|
package/lib/cjs/Dots.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dots.js","names":["EXCLUDE_PROPS","Dots","props","SDot","Element","styles","data","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","duration","SDots","bisect","bisector","d","center","useState","activeIndex","setActiveIndex","handlerMouseMoveRoot","useCallback","trottle","e","xScale","eventToPoint","current","pX","vX","invert","handlerMouseLeaveRoot","useEffect","unsubscribeMouseMoveRoot","subscribe","persist","unsubscribeMouseLeaveRoot","dots","reduce","acc","i","isPrev","defined","isNext","active","visible","push","sstyled","style","createElement"],"sources":["../../src/Dots.jsx"],"sourcesContent":["import { bisector } from 'd3-array';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { sstyled } from '@semcore/core';\nimport { eventToPoint, invert } from './utils';\nimport createElement from './createElement';\nimport trottle from '@semcore/utils/lib/rafTrottle';\n\nimport style from './style/dot.shadow.css';\n\nconst EXCLUDE_PROPS = ['data', 'scale', 'value', 'display'];\n\nfunction Dots(props) {\n const {\n Element: SDot,\n styles,\n data,\n color,\n d3,\n x,\n y,\n eventEmitter,\n display,\n hide,\n rootRef,\n scale,\n duration = 500,\n } = props;\n const SDots = 'g';\n const bisect = bisector((d) => d[x]).center;\n const [activeIndex, setActiveIndex] = useState(null);\n\n const handlerMouseMoveRoot = useCallback(\n trottle((e) => {\n const [xScale] = scale;\n const [pX] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n setActiveIndex(bisect(data, vX));\n }),\n [scale, data],\n );\n\n const handlerMouseLeaveRoot = useCallback(\n trottle(() => {\n setActiveIndex(null);\n }),\n [],\n );\n\n useEffect(() => {\n const unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', (e) => {\n e.persist();\n handlerMouseMoveRoot(e);\n });\n\n const unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\n handlerMouseLeaveRoot,\n );\n\n return () => {\n unsubscribeMouseMoveRoot();\n unsubscribeMouseLeaveRoot();\n };\n }, [eventEmitter, scale, data, x, y]);\n\n const dots = data.reduce((acc, d, i) => {\n const isPrev = d3.defined()(data[i - 1] || {});\n const isNext = d3.defined()(data[i + 1] || {});\n const active = i === activeIndex;\n const visible = display || i === activeIndex || (!isPrev && !isNext);\n if (!d3.defined()(d)) return acc;\n if (!visible) return acc;\n acc.push(\n sstyled(styles)(\n <SDot\n key={i}\n render=\"circle\"\n visible={visible}\n __excludeProps={EXCLUDE_PROPS}\n value={d}\n index={i}\n cx={d3.x()(d)}\n cy={d3.y()(d)}\n active={active}\n hide={hide}\n color={color}\n />,\n ),\n );\n return acc;\n }, []);\n return sstyled(styles)(<SDots use:duration={`${duration}ms`}>{dots}</SDots>);\n}\n\nDots.style = style;\n\nexport default createElement(Dots);\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Dots.js","names":["EXCLUDE_PROPS","Dots","props","SDot","Element","styles","data","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","duration","SDots","bisect","bisector","d","center","useState","activeIndex","setActiveIndex","handlerMouseMoveRoot","useCallback","trottle","e","xScale","eventToPoint","current","pX","vX","invert","handlerMouseLeaveRoot","useEffect","unsubscribeMouseMoveRoot","subscribe","persist","unsubscribeMouseLeaveRoot","dots","reduce","acc","i","isPrev","defined","isNext","active","visible","push","sstyled","style","createElement"],"sources":["../../src/Dots.jsx"],"sourcesContent":["import { bisector } from 'd3-array';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { sstyled } from '@semcore/core';\nimport { eventToPoint, invert } from './utils';\nimport createElement from './createElement';\nimport trottle from '@semcore/utils/lib/rafTrottle';\n\nimport style from './style/dot.shadow.css';\n\nconst EXCLUDE_PROPS = ['data', 'scale', 'value', 'display'];\n\nfunction Dots(props) {\n const {\n Element: SDot,\n styles,\n data,\n color,\n d3,\n x,\n y,\n eventEmitter,\n display,\n hide,\n rootRef,\n scale,\n duration = 500,\n } = props;\n const SDots = 'g';\n const bisect = bisector((d) => d[x]).center;\n const [activeIndex, setActiveIndex] = useState(null);\n\n const handlerMouseMoveRoot = useCallback(\n trottle((e) => {\n const [xScale] = scale;\n const [pX] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n setActiveIndex(bisect(data, vX));\n }),\n [scale, data],\n );\n\n const handlerMouseLeaveRoot = useCallback(\n trottle(() => {\n setActiveIndex(null);\n }),\n [],\n );\n\n useEffect(() => {\n const unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', (e) => {\n e.persist();\n handlerMouseMoveRoot(e);\n });\n\n const unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\n handlerMouseLeaveRoot,\n );\n\n return () => {\n unsubscribeMouseMoveRoot();\n unsubscribeMouseLeaveRoot();\n };\n }, [eventEmitter, scale, data, x, y]);\n\n const dots = data.reduce((acc, d, i) => {\n const isPrev = d3.defined()(data[i - 1] || {});\n const isNext = d3.defined()(data[i + 1] || {});\n const active = i === activeIndex;\n const visible = display || i === activeIndex || (!isPrev && !isNext);\n if (!d3.defined()(d)) return acc;\n if (!visible) return acc;\n acc.push(\n sstyled(styles)(\n <SDot\n aria-hidden\n key={i}\n render=\"circle\"\n visible={visible}\n __excludeProps={EXCLUDE_PROPS}\n value={d}\n index={i}\n cx={d3.x()(d)}\n cy={d3.y()(d)}\n active={active}\n hide={hide}\n color={color}\n />,\n ),\n );\n return acc;\n }, []);\n return sstyled(styles)(<SDots use:duration={`${duration}ms`}>{dots}</SDots>);\n}\n\nDots.style = style;\n\nexport default createElement(Dots);\n"],"mappings":"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"}
|
package/lib/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_124y6_gg_{fill:#2bb3ff;transition-property:height,width,y;transition-duration:var(--duration);transition-timing-function:ease-in-out}.___SBar_124y6_gg_.__color_124y6_gg_{fill:var(--color)}.___SBar_124y6_gg_.__hide_124y6_gg_{display:none}.___SBackground_124y6_gg_{fill:#c4c7cf}"
|
|
46
46
|
/*__inner_css_end__*/
|
|
47
|
-
, "
|
|
47
|
+
, "qcoeyq_gg_")
|
|
48
48
|
/*__reshadow_css_end__*/
|
|
49
49
|
, {
|
|
50
|
-
"__SBar": "
|
|
51
|
-
"_color": "
|
|
52
|
-
"_hide": "
|
|
53
|
-
"__SBackground": "
|
|
50
|
+
"__SBar": "___SBar_124y6_gg_",
|
|
51
|
+
"_color": "__color_124y6_gg_",
|
|
52
|
+
"_hide": "__hide_124y6_gg_",
|
|
53
|
+
"__SBackground": "___SBackground_124y6_gg_"
|
|
54
54
|
}),
|
|
55
55
|
style = (0, _extends2["default"])({}, _ref);
|
|
56
56
|
|
|
@@ -98,7 +98,8 @@ var GroupBarRoot = /*#__PURE__*/function (_Component) {
|
|
|
98
98
|
return {
|
|
99
99
|
offset: [this.scaleGroup(y), 0],
|
|
100
100
|
width: this.scaleGroup.bandwidth(),
|
|
101
|
-
x: x
|
|
101
|
+
x: x,
|
|
102
|
+
groupKey: x
|
|
102
103
|
};
|
|
103
104
|
}
|
|
104
105
|
}, {
|
|
@@ -109,7 +110,8 @@ var GroupBarRoot = /*#__PURE__*/function (_Component) {
|
|
|
109
110
|
return {
|
|
110
111
|
offset: [0, this.scaleGroup(x)],
|
|
111
112
|
height: this.scaleGroup.bandwidth(),
|
|
112
|
-
y: y
|
|
113
|
+
y: y,
|
|
114
|
+
groupKey: y
|
|
113
115
|
};
|
|
114
116
|
}
|
|
115
117
|
}, {
|
|
@@ -117,7 +119,9 @@ var GroupBarRoot = /*#__PURE__*/function (_Component) {
|
|
|
117
119
|
value: function render() {
|
|
118
120
|
var Element = this.Element;
|
|
119
121
|
this.scaleGroup = this.getScaleGroup();
|
|
122
|
+
this.asProps.dataHintsHandler.establishDataType('grouped-values');
|
|
120
123
|
return /*#__PURE__*/_react["default"].createElement(Element, {
|
|
124
|
+
"aria-hidden": true,
|
|
121
125
|
render: "g",
|
|
122
126
|
childrenPosition: "inside",
|
|
123
127
|
scaleGroup: this.scaleGroup
|
package/lib/cjs/GroupBar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupBar.js","names":["GroupBarRoot","asProps","Children","scale","scaleGroup","x","xyScale","domain","React","toArray","getOriginChildren","reduce","acc","child","isValidElement","type","GroupBar","Bar","props","hide","push","y","HorizontalBar","copy","range","bandwidth","paddingInner","paddingOuter","offset","width","height","Element","getScaleGroup","Component","style","createElement"],"sources":["../../src/GroupBar.jsx"],"sourcesContent":["import React from 'react';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Bar from './Bar';\nimport HorizontalBar from './HorizontalBar';\n\nimport style from './style/bar.shadow.css';\n\nclass GroupBarRoot extends Component {\n static displayName = 'GroupBar';\n\n static style = style;\n\n getScaleGroup() {\n const { Children, scale, scaleGroup, x } = this.asProps;\n // TODO: love that hack (by lsroman)\n const xyScale = x ? scale[0] : scale[1];\n\n if (scaleGroup) return scaleGroup;\n\n const domain = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === GroupBar.Bar && !child.props.hide) {\n acc.push(child.props.y);\n }\n if (\n React.isValidElement(child) &&\n child.type === GroupBar.HorizontalBar &&\n !child.props.hide\n ) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n\n return xyScale\n .copy()\n .range([0, xyScale.bandwidth()])\n .domain(domain)\n .paddingInner(xyScale.paddingOuter())\n .paddingOuter(0);\n }\n\n getBarProps({ y }) {\n const { x } = this.asProps;\n\n return {\n offset: [this.scaleGroup(y), 0],\n width: this.scaleGroup.bandwidth(),\n x,\n };\n }\n\n getHorizontalBarProps({ x }) {\n const { y } = this.asProps;\n\n return {\n offset: [0, this.scaleGroup(x)],\n height: this.scaleGroup.bandwidth(),\n y,\n };\n }\n\n render() {\n const Element = this.Element;\n this.scaleGroup = this.getScaleGroup();\n return <Element render=\"g\" childrenPosition=\"inside\" scaleGroup={this.scaleGroup}
|
|
1
|
+
{"version":3,"file":"GroupBar.js","names":["GroupBarRoot","asProps","Children","scale","scaleGroup","x","xyScale","domain","React","toArray","getOriginChildren","reduce","acc","child","isValidElement","type","GroupBar","Bar","props","hide","push","y","HorizontalBar","copy","range","bandwidth","paddingInner","paddingOuter","offset","width","groupKey","height","Element","getScaleGroup","dataHintsHandler","establishDataType","Component","style","createElement"],"sources":["../../src/GroupBar.jsx"],"sourcesContent":["import React from 'react';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Bar from './Bar';\nimport HorizontalBar from './HorizontalBar';\n\nimport style from './style/bar.shadow.css';\n\nclass GroupBarRoot extends Component {\n static displayName = 'GroupBar';\n\n static style = style;\n\n getScaleGroup() {\n const { Children, scale, scaleGroup, x } = this.asProps;\n // TODO: love that hack (by lsroman)\n const xyScale = x ? scale[0] : scale[1];\n\n if (scaleGroup) return scaleGroup;\n\n const domain = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === GroupBar.Bar && !child.props.hide) {\n acc.push(child.props.y);\n }\n if (\n React.isValidElement(child) &&\n child.type === GroupBar.HorizontalBar &&\n !child.props.hide\n ) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n\n return xyScale\n .copy()\n .range([0, xyScale.bandwidth()])\n .domain(domain)\n .paddingInner(xyScale.paddingOuter())\n .paddingOuter(0);\n }\n\n getBarProps({ y }) {\n const { x } = this.asProps;\n\n return {\n offset: [this.scaleGroup(y), 0],\n width: this.scaleGroup.bandwidth(),\n x,\n groupKey: 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 groupKey: y,\n };\n }\n\n render() {\n const Element = this.Element;\n this.scaleGroup = this.getScaleGroup();\n\n this.asProps.dataHintsHandler.establishDataType('grouped-values');\n\n return (\n <Element aria-hidden render=\"g\" childrenPosition=\"inside\" scaleGroup={this.scaleGroup} />\n );\n }\n}\n\nconst GroupBar = createElement(GroupBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default GroupBar;\n"],"mappings":"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"}
|
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_fcz4o_gg_{fill:#2bb3ff;transition-property:height,width,y;transition-duration:var(--duration_fcz4o);transition-timing-function:ease-in-out}.___SBar_fcz4o_gg_.__color_fcz4o_gg_{fill:var(--color_fcz4o)}.___SBar_fcz4o_gg_.__hide_fcz4o_gg_{display:none}.___SBackground_fcz4o_gg_{fill:#c4c7cf}"
|
|
46
46
|
/*__inner_css_end__*/
|
|
47
|
-
, "
|
|
47
|
+
, "fcz4o_gg_")
|
|
48
48
|
/*__reshadow_css_end__*/
|
|
49
49
|
, {
|
|
50
|
-
"__SBar": "
|
|
51
|
-
"--duration": "--
|
|
52
|
-
"_color": "
|
|
53
|
-
"--color": "--
|
|
54
|
-
"_hide": "
|
|
55
|
-
"__SBackground": "
|
|
50
|
+
"__SBar": "___SBar_fcz4o_gg_",
|
|
51
|
+
"--duration": "--duration_fcz4o",
|
|
52
|
+
"_color": "__color_fcz4o_gg_",
|
|
53
|
+
"--color": "--color_fcz4o",
|
|
54
|
+
"_hide": "__hide_fcz4o_gg_",
|
|
55
|
+
"__SBackground": "___SBackground_fcz4o_gg_"
|
|
56
56
|
});
|
|
57
57
|
|
|
58
58
|
var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
|
|
@@ -95,7 +95,8 @@ var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
|
|
|
95
95
|
r = _this$asProps2.r,
|
|
96
96
|
heightProps = _this$asProps2.height,
|
|
97
97
|
onMouseMove = _this$asProps2.onMouseMove,
|
|
98
|
-
onMouseLeave = _this$asProps2.onMouseLeave
|
|
98
|
+
onMouseLeave = _this$asProps2.onMouseLeave,
|
|
99
|
+
groupKey = _this$asProps2.groupKey;
|
|
99
100
|
|
|
100
101
|
var _scale = (0, _slicedToArray2["default"])(scale, 2),
|
|
101
102
|
xScale = _scale[0],
|
|
@@ -113,7 +114,15 @@ var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
|
|
|
113
114
|
radius: Array.isArray(r) ? r[i] : r,
|
|
114
115
|
position: d[x] > 0 ? 'right' : 'left'
|
|
115
116
|
});
|
|
117
|
+
|
|
118
|
+
if (groupKey) {
|
|
119
|
+
this.asProps.dataHintsHandler.describeGroupedValues(groupKey, x);
|
|
120
|
+
} else {
|
|
121
|
+
this.asProps.dataHintsHandler.describeValueEntity("".concat(i, ".").concat(x), groupKey !== null && groupKey !== void 0 ? groupKey : d[y]);
|
|
122
|
+
}
|
|
123
|
+
|
|
116
124
|
return _ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SBar, _ref.cn("SBar", {
|
|
125
|
+
"aria-hidden": true,
|
|
117
126
|
"key": "horizontal-bar-".concat(i),
|
|
118
127
|
"render": "path",
|
|
119
128
|
"clipPath": "url(#".concat(uid, ")"),
|
|
@@ -142,6 +151,7 @@ var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
|
|
|
142
151
|
size = _this$asProps3.size,
|
|
143
152
|
duration = _this$asProps3.duration;
|
|
144
153
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, data.map(this.renderBar.bind(this)), duration && /*#__PURE__*/_react["default"].createElement(_ClipPath["default"], {
|
|
154
|
+
"aria-hidden": true,
|
|
145
155
|
setAttributeTag: function setAttributeTag(rect) {
|
|
146
156
|
rect.setAttribute('width', size[0]);
|
|
147
157
|
},
|
|
@@ -180,6 +190,7 @@ function Background(props) {
|
|
|
180
190
|
|
|
181
191
|
var xRange = xScale.range();
|
|
182
192
|
return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SBackground, _ref2.cn("SBackground", {
|
|
193
|
+
"aria-hidden": true,
|
|
183
194
|
"render": "rect",
|
|
184
195
|
"childrenPosition": "above",
|
|
185
196
|
"width": xRange[1] - xRange[0],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HorizontalBar.js","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","getBandwidth","width","abs","max","domain","dSvg","getHorizontalRect","radius","Array","isArray","position","sstyled","size","map","renderBar","bind","rect","setAttribute","Component","uniqueIDEnhancement","style","Background","SBackground","xRange","range","bandwidth","roundedPath","createElement"],"sources":["../../src/HorizontalBar.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport ClipPath from './ClipPath';\nimport { getBandwidth, roundedPath } from './utils';\n\nimport style from './style/bar.shadow.css';\n\nclass HorizontalBarRoot extends Component {\n static displayName = 'HorizontalBar';\n static enhance = [uniqueIDEnhancement()];\n static style = style;\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n r: 2,\n };\n\n getBackgroundProps(props, index) {\n const { data, y } = this.asProps;\n return {\n value: data[index][y],\n };\n }\n\n renderBar(d, i) {\n const SBar = this.Element;\n const {\n styles,\n color,\n x,\n x0,\n y,\n scale,\n hide,\n offset,\n uid,\n duration,\n r,\n height: heightProps,\n onMouseMove,\n onMouseLeave,\n } = this.asProps;\n\n const [xScale, yScale] = scale;\n const barY = yScale(d[y]) + offset[1];\n const barX = xScale(Math.min(d[x0] ?? 0, d[x])) + offset[0];\n const height = heightProps || getBandwidth(yScale);\n const width = Math.abs(xScale(d[x]) - Math.max(xScale(xScale.domain()[0]), xScale(d[x0] ?? 0)));\n const dSvg = getHorizontalRect({\n x: barX,\n y: barY,\n width,\n height,\n radius: Array.isArray(r) ? r[i] : r,\n position: d[x] > 0 ? 'right' : 'left',\n });\n\n return sstyled(styles)(\n <SBar\n key={`horizontal-bar-${i}`}\n render=\"path\"\n clipPath={`url(#${uid})`}\n __excludeProps={['data', 'scale', 'value']}\n childrenPosition=\"above\"\n value={d}\n index={i}\n hide={hide}\n color={color}\n x={barX}\n y={barY}\n width={width}\n height={height}\n d={dSvg}\n use:duration={`${duration}ms`}\n onMouseMove={onMouseMove}\n onMouseLeave={onMouseLeave}\n />,\n );\n }\n\n render() {\n const { data, uid, size, duration } = this.asProps;\n\n return (\n <>\n {data.map(this.renderBar.bind(this))}\n {duration && (\n <ClipPath\n setAttributeTag={(rect) => {\n rect.setAttribute('width', size[0]);\n }}\n id={uid}\n x=\"0\"\n y=\"0\"\n width={0}\n height={size[1]}\n transition={`width ${duration}ms ease-in-out`}\n />\n )}\n </>\n );\n }\n}\n\nfunction Background(props) {\n const { Element: SBackground, styles, scale, value } = props;\n const [xScale, yScale] = scale;\n const xRange = xScale.range();\n\n return sstyled(styles)(\n <SBackground\n render=\"rect\"\n childrenPosition=\"above\"\n width={xRange[1] - xRange[0]}\n height={yScale.bandwidth()}\n x={xRange[0]}\n y={yScale(value)}\n />,\n );\n}\n\nfunction getHorizontalRect({ x, y, width, height, radius, position }) {\n if (width <= radius) return '';\n if (radius) {\n if (position === 'right')\n return roundedPath(x, y, width, height, radius, false, true, false, true);\n return roundedPath(x, y, width, height, radius, true, false, true, false);\n }\n return roundedPath(x, y, width, height, radius);\n}\n\nexport default createElement(HorizontalBarRoot, { Background });\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA;;AADA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;IAIMA,iB;;;;;;;;;;;;WAWJ,4BAAmBC,KAAnB,EAA0BC,KAA1B,EAAiC;MAC/B,oBAAoB,KAAKC,OAAzB;MAAA,IAAQC,IAAR,iBAAQA,IAAR;MAAA,IAAcC,CAAd,iBAAcA,CAAd;MACA,OAAO;QACLC,KAAK,EAAEF,IAAI,CAACF,KAAD,CAAJ,CAAYG,CAAZ;MADF,CAAP;IAGD;;;WAED,mBAAUE,CAAV,EAAaC,CAAb,EAAgB;MAAA;;MACd,IAAMC,IAAI,GAAG,KAAKC,OAAlB;MACA,
|
|
1
|
+
{"version":3,"file":"HorizontalBar.js","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","groupKey","xScale","yScale","barY","barX","Math","min","getBandwidth","width","abs","max","domain","dSvg","getHorizontalRect","radius","Array","isArray","position","dataHintsHandler","describeGroupedValues","describeValueEntity","sstyled","size","map","renderBar","bind","rect","setAttribute","Component","uniqueIDEnhancement","style","Background","SBackground","xRange","range","bandwidth","roundedPath","createElement"],"sources":["../../src/HorizontalBar.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport ClipPath from './ClipPath';\nimport { getBandwidth, roundedPath } from './utils';\n\nimport style from './style/bar.shadow.css';\n\nclass HorizontalBarRoot extends Component {\n static displayName = 'HorizontalBar';\n static enhance = [uniqueIDEnhancement()];\n static style = style;\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n r: 2,\n };\n\n getBackgroundProps(props, index) {\n const { data, y } = this.asProps;\n return {\n value: data[index][y],\n };\n }\n\n renderBar(d, i) {\n const SBar = this.Element;\n const {\n styles,\n color,\n x,\n x0,\n y,\n scale,\n hide,\n offset,\n uid,\n duration,\n r,\n height: heightProps,\n onMouseMove,\n onMouseLeave,\n groupKey,\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 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']}\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 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) return '';\n if (radius) {\n if (position === 'right')\n return roundedPath(x, y, width, height, radius, false, true, false, true);\n return roundedPath(x, y, width, height, radius, true, false, true, false);\n }\n return roundedPath(x, y, width, height, radius);\n}\n\nexport default createElement(HorizontalBarRoot, { Background });\n"],"mappings":"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"}
|